Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Bei einer Komponente ein Panel zwischenschalten

  Alt 30. Mär 2009, 07:08
Naja, der genannte Fehler an sich sollte sich ja leicht beheben lassen indem du prüfst, ob FParent nil ist:
Delphi-Quellcode:
  if FParent <> nil then
  begin
    FParent.Left := ALeft;
    FParent.Top := ATop;
    FParent.Width := AWidth;
    FParent.Height := AHeight;
  end;
Allerdings sehe ich nicht so recht wie das ansonsten klappen könnte die Objekthierarchie im Konstruktor so hinzubiegen wie du dir das vorstellst. Was dabei passiert müsste ich einmal testen, aber ich sehe da andere Probleme.

// EDIT:
  • Warum benutzt du da überhaupt FParent statt FPanel?
  • SetBounds reicht nicht, da bei dem Setzen der einzelnen Werte die anderen aus der Komponente selbst ausgelesen werden.
  • Wozu setzt du in Create Parent? Das muss danach doch ohnehin passieren, vielleicht soll es bei dem Create auch noch gar nicht passieren in der Anwendung.
  • Free darfst du nicht aufrufen, wenn FPanel (deinem Aufruf nach ja so gewollt) einen Owner hat.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat