Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Element '' hat kein übergeordnetes Fenster (https://www.delphipraxis.net/182160-element-hat-kein-uebergeordnetes-fenster.html)

stahli 6. Okt 2014 11:56

AW: Element '' hat kein übergeordnetes Fenster
 
Ich kann nur aus Erfahrung sagen, dass der Fxxx.Parent:=Self; u.U. im Contructor zu früh ist.
Verschiebe diese Anweisungen einfach mal testweise in Paint;

Die Zuweisungen solltest Du dann aber nur einmal machen, weil die VCL nicht prüft, ob der neue Parent gleich dem alten ist und immer eine Neuzeichnung veranlasst.

Blup 6. Okt 2014 12:53

AW: Element '' hat kein übergeordnetes Fenster
 
Um die Größe der Elemente anzupassen, am besten CreateWnd überschreiben.
Das Fenster ist dann schon da und man kann auf Canvas zugreifen.

DeddyH 6. Okt 2014 13:11

AW: Element '' hat kein übergeordnetes Fenster
 
Das wurde ja auch im eingangs zitierten Thread gesagt.

Captnemo 8. Okt 2014 10:16

AW: Element '' hat kein übergeordnetes Fenster
 
Ich hab das jetzt mal so umgesetzt.
Wenn ich jetzt die Komponente auf ein Formular setze, läuft alles glatt.
Bis hier hin erst mal vielen Dank für die Hilfe.

DeddyH 8. Okt 2014 10:22

AW: Element '' hat kein übergeordnetes Fenster
 
Wo ist denn der Anhang?

Captnemo 8. Okt 2014 10:29

AW: Element '' hat kein übergeordnetes Fenster
 
Ich hab den Fehler mittlerweile gefunden.
Ich hatte in den Setter-Methoden teilweise die damit gesetzten Parameter an anderen Controls z.b. ein Panel weitergegeben. Hab aber vergessen, vorher auch zu prüfen, ob diese Controls überhaupt schon existieren.

z.B so:
Delphi-Quellcode:
procedure TUrlaubsplaner.SetWidthPersons(const Value: Integer);
begin
  FWidthPersons := Value;
  FPanelLeft.Width:=Value;
end;
Das hat dann schon beim Laden des Projekts dazu geführt, dass mir die komplette IDE um die Ohren geflogen ist.

Hab das so geändert:
Delphi-Quellcode:
procedure TUrlaubsplaner.SetWidthPersons(const Value: Integer);
begin
  FWidthPersons := Value;
  if FPanelLeft=nil then Exit;
  FPanelLeft.Width:=Value;
end;
Jetzt ist erst mal alles gut.

Aber wenn du Interesse hast, schicke ich dir die Komponente gerne mal zum drüberschauen (wenn du Bock hast). Hab sie hier erst mal wieder rausgenommen.

DeddyH 8. Okt 2014 10:47

AW: Element '' hat kein übergeordnetes Fenster
 
Liste der Anhänge anzeigen (Anzahl: 1)
In PMs kann man keine Dateien anhängen ;). Übrigens habe ich mich vor einiger Zeit selbst mal an einer ähnlichen Komponente versucht, allerdings gibt es da keine Subkomponenten, sondern alles wird direkt auf den Canvas gezeichnet und bestimmte Einträge anhand der Mausposition ermittelt. Leider ist das Ding nie wirklich fertig geworden :(

Captnemo 8. Okt 2014 11:19

AW: Element '' hat kein übergeordnetes Fenster
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bisher sieht meine so aus.

Alles gezeichnet. Aber ich habe mit Panel und Splitter das so gelöst, damit man die Breite der Namenspalte aus User verschieben kann.

Die Enträge kann man anklicken und damit bearbeiten. Verschiebe und Größe ändern kommt noch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz