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?!?