Zitat von
Privateer3000:
Einige Parameter der Buttons und Labels,
werden aus der
db geholt.
Delphi-Quellcode:
if not Assigned(main.form.plbox.findcomponent('plnr'+plid)as TsButton) then begin
tibut:=TsButton.Create(main.form.plbox); tibut.Parent:=main.form.plbox; tibut.Visible:=True;
tibut.Name:='plnr'+plid;
end;
zu lösen versuche ich wie oben
es soll geprüft werden ob die komponente existiert
wenn ja werden nur caption und farbe geändert
wenn nein wird sie neu erstellt.
Aber obiger Source verursacht eine shutzverletzung
Warum?
Das Problem scheint mir hier nicht Assigned zu sein, sondern das Casten auf TsButton.
if not Assigned(main.form.plbox.findcomponent('plnr'+plid)as TsButton) then
Wenn das Objekt nicht existiert oder wenn das Objekt kein TsButton ist, wirds genau an der stelle knallen:
main.form.plbox.findcomponent('plnr'+plid)as TsButton
Sowas ist vielleicht eher etwas was du suchst:
Delphi-Quellcode:
if Assigned(main.form.plbox.findcomponent('plnr'+plid)) then
if (main.form.plbox.findcomponent('plnr'+plid) is TsButton) then
begin
end;
Gruß
Angos