Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: prüfen ob panel existiert!

  Alt 14. Apr 2008, 13:50
Hallo,

irgendie ist dein Code komisch

while not panelquer.Eof do panelquer ist also ein DataSet (?).

Delphi-Quellcode:
while not panelquer.Eof do
begin
  if not Assigned(panelen.pans.FindComponent() then
  begin
   ...
    tpa.Name:=panelquer.fieldbyname('anzeige').AsString;
    tpa.Caption:=panelquer.FieldByName('anzeige').AsString;
  end;
  panelquer.Next;
end;
Du gehst durch panelquer und legst Panel mit immer gleicher Position an, wozu ?

Delphi-Quellcode:
if not Assigned(panelen.pans.FindComponent(panelquer.fieldbyname('anzeige').AsString)as TPanel) then begin
  tpa:=TPanel.Create(Self);
Self ist also der Owner.
Self enthält das Panel also in seiner FindComponent-Liste.

if not Assigned(Self.FindComponent(panelquer.fieldbyname('anzeige').AsString)as TPanel) then Als Optimierung würde ich panelquer.fieldbyname('anzeige').AsString
in eine lokale Variable packen.
Das amcht auch das Debuggen einfacher.

Heiko
Heiko
  Mit Zitat antworten Zitat