How to develop a component... lazarus / 5-Lazarus Extra Components ---------------------------------------------------------------------- Salvador · 2007-04-05 02:26 Hi everybody!  I'm new in Lazarus and I'm looking for a clear explanation of how to develop a visual component in Lazarus... Should I develop it along a test project? Can I use visual design to do it? I need very desperately a powerfull multi-editor grid like TMS TAdvancedStringGrid for Delphi (www.tmssoftware.com), and since I have not found anything like it I need to slowly make myself one from scratch... So any help claryfing the developmente methodology will be much appreciated.  (or else any pointers to a usefull port). Thanks in advance... ---------------------------------------------------------------------- Phil · 2007-04-05 14:01 Quote from: "Salvador"I need very desperately a powerfull multi-editor grid like TMS TAdvancedStringGrid for Delphi (www.tmssoftware.com), and since I have not found anything like it I need to slowly make myself one from scratch... Have you tried the Orpheus table control yet?   http://wiki.lazarus.freepascal.org/OrphPort If you have a couple of years of free time, you could probably create one from scratch. A better idea would be to adapt an existing grid control like TOvcTable. ---------------------------------------------------------------------- Salvador · 2007-04-05 16:29 Phil: No, I have not tried Orpheus but I will test it imediatley, thanks for the link. I know that developing a feature-rich grid is very complex, but my modest desire is to slowly add one feature at a time... Thats why I'd like to know the general methodology to develop a component... Any tips you could give me? Thanks in advance... ---------------------------------------------------------------------- vins · 2007-04-20 12:57 QuoteCan I use visual design to do it? No, you can't. Components are developed like in Delphi. Try searching google for some delphi tutorials. I usually test my components runtime only and If all is working I pack them so they can be integrated into the IDE. For example, your test project could have a form with a TPanel component. Then you could create your control and assign it to the panel at runtime: Code: [Select]... var   Form1: TForm1;   DBGrid1: TDBGrid; implementation { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin      DBGrid1 := TDBGrid.Create(nil);      DBGrid1.Parent := Panel1;      DBGrid1.Align := alClient; end; procedure TForm1.FormDestroy(Sender: TObject); begin      FreeAndNil(DBGrid1); end; ...