Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Quellcode wird nicht compiliert. Compiler meldet keinen Fehler. (https://www.delphipraxis.net/156239-quellcode-wird-nicht-compiliert-compiler-meldet-keinen-fehler.html)

FriendOfDelphi 25. Nov 2010 13:31

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
Zitat:

Zitat von Luckie (Beitrag 1063949)
Eine Instanz einer Klasse erstellt man so:
Delphi-Quellcode:
obj := TMyClass.Create;

Das war der entscheidende Hinweis.
Die Quellcode in der Unit wird jetzt vollständig mitkompiliert und die "blauen Punkte" sind da! :-D

FriendOfDelphi 25. Nov 2010 13:36

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
Zitat:

Zitat von stahli (Beitrag 1063951)
Die Instanz einer Klasse weist man so zu:
Delphi-Quellcode:
Test := TTest.Create(Self);
Im Create und Destroy Deiner Komponente fehlen das inherited.
Sie wird also nicht erzeugt und nicht aufgelöst.

Ich habe die fehlenden "inherited" ergänzt. Aber auch mit Hilfe der Delphi-Hilfe nicht genau verstanden, was das macht.
Zitat:

Zitat von stahli (Beitrag 1063951)
Hinter Deinem Destructor fehlt das override.

Habe ich ebenfalls ergänzt.
Zitat:

Zitat von stahli (Beitrag 1063951)
Die Freigabe der Komponente (im FormDestroy) sollte man über Test.Free veranlassen.
(Bzw. kann diese Freigabe an der Stelle entfallen, da das Formular Deine Komponente als deren Eigentümer automatisch frei gibt.)

Schau mal, ob Dich das schon weiter bringt...

Die Methode "Free" scheint ja auch ohne mein Zutun zu existieren.
Heißt das, dass ich gar keinen Destruktor selber machen muss?

DeddyH 25. Nov 2010 13:42

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
inherited ruft die gleichnamige Methode der Vorfahrklasse auf. Und den Destruktor musst Du nur überschreiben, wenn Du selbst Speicher anforderst (z.B. indem Du Instanzen von Klassen erzeugst) und diesen beim Zerstören wieder freigeben musst. Aber Vorsicht: im Destruktor gehört das inherited immer in die letzte Zeile.

stahli 25. Nov 2010 14:12

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
Free ruft intern Destroy auf. Destroy sollte man nicht direkt aufrufen.

FriendOfDelphi 25. Nov 2010 14:13

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
Ihr seid echt super. Vielen Dank.

Jetzt geht es ins "Eingemachte" meiner Umwandlung von "Stand-Alone-Programm" in eigene Unit/Klasse.
Ich habe jetzt eine neue Fehlermeldung; bin mir aber nicht ganz sicher, ob ich dafür ein neues Thema aufmachen soll, oder nicht, da das ürsprüngliche Thema ja abgeschlossen ist...

Was sagt denn der Moderator dazu?

DeddyH 25. Nov 2010 14:20

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
Auch wenn ich kein Mod bin: neue Frage, neuer Thread ;)

Luckie 25. Nov 2010 14:39

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
Zitat:

Zitat von FriendOfDelphi (Beitrag 1063979)
Ich habe jetzt eine neue Fehlermeldung; bin mir aber nicht ganz sicher, ob ich dafür ein neues Thema aufmachen soll, oder nicht, da das ürsprüngliche Thema ja abgeschlossen ist...

So lange du uns die Frage oder das Problem nicht nennst...

FriendOfDelphi 25. Nov 2010 16:09

AW: Quellcode wird nicht compiliert. Compiler meldet keinen Fehler.
 
Ich habe dazu unter "\Delphi-PRAXiS\Sprachen und Entwicklungsumgebungen\Object-Pascal / Delphi-Language" ein neues Thema "Aufgerufene Methode erkennt aufrufendes Objekt nicht" eröffnet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.
Seite 3 von 3     123   

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