On Friday 29 of June 2012 11:16:06 Koenraad Lelong wrote: > Hi, > > I'm trying to manually create a form and in it's OnCreate event populate > it with controls. But I'm doing somehing wrong. > This is my creating sequence : > > form2:=Tform2.Create(nil); > form2.ShowModal; > Form2.Destroy; > > Nothing special I think. > > This is a sample of the create-code : > > procedure TForm2.FormCreate(Sender: TObject); > > var > i : integer; > upper : integer; > > begin > > upper:=10; > for i:=0 to 4 do > begin > form2.Height:=form2.height+25; > edits[i]:=Tedit.Create(self); > edits[i].Parent:=form2; > edits[i].Top:=upper; > edits[i].Left:=10; > upper:=upper+25; > end; > end; > > But when I run the code, I get a segfault at the location where I modify > the form's height. If I remove that, I get the form but the edits do not > show. > > When I modify the code to automatically create the form this works. So > I'm clearly missing something. > > Any tips, links to documentation ?
Do not use variable in OnCreate(). Sender parameter is your form. So instead of using Form2.Height := , use TCustomForm(Sender).Height or whatever. That should work. zeljko
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
