Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Handle einer Komponente im Konstruktor (TFrame) (https://www.delphipraxis.net/27566-handle-einer-komponente-im-konstruktor-tframe.html)

Fingolfin 12. Aug 2004 09:41


Handle einer Komponente im Konstruktor (TFrame)
 
Hallö,

kann es sein, daß man an das Handle einer Komponente im Konstruktor nicht wirklich rankommt? Mein zur Laufzeit erstellter Frame hat eine PaintBox drauf, deren Handle ich beim Erstellen dieses Frames benötige. Leider schmiert er mir bei Abfrage des Handles einfach weg.

Beim Debuggen des Handles schmiert er ebenfalls weg. Komischerweise gibt er das lustige Handle aber per ShowMessage erstmal in Ruhe aus, bevor er danach wieder wegschmiert.

Hat einer von Euch eine Idee, was hier schiefläuft? :?:

Vielen Dank schonmal,

Fingolfin

Union 12. Aug 2004 09:59

Re: Handle einer Komponente im Konstruktor (TFrame)
 
Wenn Du in Frames Komponenten zur Laufzeit createst, müssen diese im Destructor des Frames auch wieder mit Free entfernt werden (wie in jeder Klasse). Ansonsten kann es solche lustigen Effekte geben.

teebee 12. Aug 2004 10:12

Re: Handle einer Komponente im Konstruktor (TFrame)
 
Ich kann Dein Problem nicht nachvollziehen. Ich erzeuge im OnCreate eines Forms ein Frame, im überschriebenen Create des Frames kann ich zumindest auf das Handle des Canvas der PaintBox zugreifen, ohne dass etwas passiert (man sieht natürlich auch noch nix).

Vielleicht zeigst Du mal etwas Code und beschreibst genauer, was Du machst und welche Fehler kommen.

Gruß, teebee

Fingolfin 13. Aug 2004 09:45

Re: Handle einer Komponente im Konstruktor (TFrame)
 
Danke für Eure Hilfe.

@teebee Du hast recht, ich habe das Ganze auch nocheinmal mit einem neuen Projekt getestet und dabei treten keine Probleme auf. Dann habe ich weitergetestet und bemerkt, daß der betreffende Frame schon beim Aufruf des geerbten Konstruktors Schutzverletzungen wirft. Der Fehler liegt also woanders und tritt viel früher auf als erwaret in meiner Framebasisklasse.

Vielen Dank. :)

Fingolfin


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.

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