[ dbabic @ 17.03.2005. 19:34 ] @
Moze li neko da mi razjasni u čemu je problem? Na formi se nalazi jedno dugme i jedan EditBox U EditBox-u upisujem neki broj i klikom na dugme mi se kreira i na formi prikazuje toliko objekata tipa TCheckBox. U dinamički niz želim da upisem adresu svakog od novokreiranih objekata kako bi kasnije mogao da promenljivoj tipa TCheckBox dodelim adresu iz niza i na taj način pristupim nekoj od osobina CheckBoxa. procedure TForm1.BitBtn1Click(Sender: TObject); var ChkBox:TCheckBox; i:integer; ChkPok:^TCheckBox; //Ponter na objekat TCheckBox NizChkPok:Array of Pointer; //Dinamicki niz procedure KreirajChkBox; begin ChkBox:=TCheckBox.create(Form1); ChkBox.parent:=Form1; ChkBox.name:='ChkBox'+IntToStr(i); //dodela imena novom CheckBox-u ChkBox.Left:=100; //Sminka za prikaz na formi ChkBox.Top:=50+i*15 //Sminka za prikaz na formi end; begin i:=0; Repeat KreirajChkBox; SetLength(NizChkPok, StrToInt(Edit1.text)); //Inicijalizacija duzine dinamickog niza ChkPok:=@ChkBox; //Dodeljivanje adrese kreiranog objekta - pointeru ChkPok NizChkPok:=ChkPok; //Smestanje adrese u niz inc(i) until i=strtoInt(Edit1.text); end Problem se nalazi u redu ChkPok:=@ChkBox. Svaki put se kreira nova instanca objekta TCheckBox, ali pokazivac stalno pokazuje na istu adresu?!? |