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 Delphi 2005 stürzt ab beim Schließen des Projekts (https://www.delphipraxis.net/48651-delphi-2005-stuerzt-ab-beim-schliessen-des-projekts.html)

UKW 28. Jun 2005 16:00


Delphi 2005 stürzt ab beim Schließen des Projekts
 
Hallo,

ich habe einige Komponenten (win32) für Delphi 7 geschrieben. (Habe also den Quellcode) Diese wollte ich nun unter Delphi 2005 zum Laufen bekommen. Ansich funktionieren diese auch einwandfrei, nur wenn ich das Projekt dann in Delphi 2005 (Enterprise Architect, Update 3) schließe hängt sich Delphi auf (passiert in Delphi 7 nicht).
Irgendwelche Ideen, was ich eventuell falsch gemacht haben könnte? Weiß jemand, was Delphi an dieser Stelle macht? Hat jemand Ideen, wie ich das umgehen könnte bzw. was ich versuchen könnte um das Problem zu lösen?

Leider kann ich aus Copyrightgründen hier keine Quellcodes veröffentlichen. Falls allerdings noch Fragen dazu bestehen sollten kann ich diese aber gern beantworten.

Viele Grüße,

UKW

DP-Maintenance 28. Jun 2005 16:02

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "VCL / WinForms / Controls" nach "Delphi - Bugreports" verschoben.
Ich wiederhole meine Aussage von vor ein paar Tagen: "Im Zweifel gegen Delphi", also ab zu den Bugs ;)

sakura 28. Jun 2005 16:15

Re: Delphi 2005 stürzt ab beim Schließen des Projekts
 
Zitat:

Zitat von UKW
Weiß jemand, was Delphi an dieser Stelle macht? Hat jemand Ideen, wie ich das umgehen könnte bzw. was ich versuchen könnte um das Problem zu lösen?

Generell gibt es keine Probleme. Es wird sehr wahrscheinlich an einer bestimmten Komponente/Aktion liegen.

Es wäre super wenn Du Dir die Zeit nehmen könntest dem auf den Grund zu gehen. Das heißt jede Komponente (soweit es geht) einzeln zu installieren und zu testen. Wenn Du dann die Komponente gefunden hast, welche das Problem bereitet diese Schritt für Schritt "abspecken" bis das Problem nicht mehr auftritt. Wenn Du dann die "böse" Methode hast, kannst Du die evtl. hier posten.

Zitat:

Zitat von UKW
Leider kann ich aus Copyrightgründen hier keine Quellcodes veröffentlichen. Falls allerdings noch Fragen dazu bestehen sollten kann ich diese aber gern beantworten.

Sollte das nicht möglich sein, wäre es Dir möglich diese im vertraulichen Rahmen zu Testzwecken an einen Borländer zu senden? Bzw. sollte es wirklich nur im Zusammenhang mit dem Gesamtpaket geschehen, wäre das eine Möglichkeit?

...:cat:...

UKW 28. Jun 2005 16:43

Re: Delphi 2005 stürzt ab beim Schließen des Projekts
 
An das Abspecken habe ich auch schon gedacht, da aber die Vererbungshierachie der Komponenten ziemlich komplex ist gestaltet sich das relativ schwierig.

Eigentlich müsste ich doch nur die Destructoren überprüfen, oder? Denn Delphi stürzt ja nur ab beim Schließen des Projekts. Beim Schließen der Anwendung, welche die Komponenten benutzt, läuft scheinbar alles richtig. Diese lässt sich ohne Probleme schließen, aber vielleicht (bzw. höchstwahrscheinlich) gibt es Unterschiede zwischen dem Schließen der Anwendung und des Projekts in Delphi.

Grüße,

UKW

sakura 29. Jun 2005 09:45

Re: Delphi 2005 stürzt ab beim Schließen des Projekts
 
Zitat:

Zitat von UKW
An das Abspecken habe ich auch schon gedacht, da aber die Vererbungshierachie der Komponenten ziemlich komplex ist gestaltet sich das relativ schwierig.

Das habe ich mir schon gedacht, aber fragen schadet ja nicht :mrgreen:

Zitat:

Zitat von UKW
Eigentlich müsste ich doch nur die Destructoren überprüfen, oder? Denn Delphi stürzt ja nur ab beim Schließen des Projekts.

Nicht unbedingt, es kann auch sein, dass diese Probleme an anderer Stelle verursacht werden, allerdings im Verborgenen bleiben bis der Destructor aufgerufen wird. Es muss eigentlich nicht mal etwas mit einem solchen zu tun haben... Aber da es Dir nur im Designer passiert, wären folgende Fragen interessant:
  1. Reicht es schon ein Projekt zu öffnen (und ein Form mit einer der Komponenten darauf) und wieder zu schließen, um den Fehler zu sehen?
  2. Kannst Du das Problem mit mehreren beliebigen Deiner Komponenten nachvollziehen?
  3. Hast Du evtl. Property-Editoren/Listen/etc. geschrieben? Diese werden nur von der IDE geladen, nicht aber zur Laufzeit der Anwendung :zwinker:
Auch andere Ursachen sind möglich. Momentan stochern wir da sehr im Dunkeln...

...:cat:...

UKW 1. Jul 2005 12:31

Re: Delphi 2005 stürzt ab beim Schließen des Projekts
 
Es handelt sich bei den Komponenten um "normale" Komponenten, die eigentlich nichts an der IDE verändern oder steuern. (Außer, dass Sie in der Komponentenpalette registriert werden. (RegisterComponents))

Der Absturz von Delphi tritt nur bei bestimmten Komponenten auf, deswegen gehe ich davon aus, dass es sich um einen Fehler in einer bestimmten Vererbunglinie handelt. (Diese habe ich, denke ich, schon gefunden.)
Um Delphi zum Absturz zu bewegen, reicht es aus, eine neues Projekt zu erstellen, dort eine dieser Komponenten einzufügen und das Projekt oder Delphi zu schließen. Wenn ich die Komponente vor dem Schließen des Projekts entferne funktioniert alles reibungslos (Projekt läßt sich schließen).
Die Komponenten haben auch KEINE besonderen Verhaltensweisen zur Designtime (if ( csDesigning in.. )).

Ach ja was vll noch wichtig ist: Die Komponenten sind nicht "sichtbar", also tief unten von TComponent abgeleitet und nicht von TCustomControl oder so.

Danke für die Hilfe!

sakura 1. Jul 2005 12:56

Re: Delphi 2005 stürzt ab beim Schließen des Projekts
 
Zitat:

Zitat von UKW
Der Absturz von Delphi tritt nur bei bestimmten Komponenten auf

Das ist schon einmal sehr positiv. Schaue mal, ob Du an irgendeiner Stelle das override des Destructors vergessen: Destructor Destroy; override;. Das ist eine mir bekannte Ursache :zwinker:

Zitat:

Zitat von UKW
Ach ja was vll noch wichtig ist: Die Komponenten sind nicht "sichtbar", also tief unten von TComponent abgeleitet und nicht von TCustomControl oder so.

Das sollte eigentlich nicht das Problem beeinflussen, aber man weiß ja nie.

Ansonsten scheint es aber wohl kein Bug in Delphi zu sein, sondern doch in einer der Komponenten. Warten wir noch ein bisschen ab.

...:cat:...

UKW 1. Jul 2005 14:09

Re: Delphi 2005 stürzt ab beim Schließen des Projekts
 
So ich habe es endlich herausgefunden:

Es lag, wie du schon vermutet hattest, nicht an Delphi. Da die Komponenten miteinander agieren sollen, halten diese Referenzen auf die jeweiligen "Partner". Damit die Referenzen beim Freigeben von Komponenten auch entfernt werden habe ich die Notification Methode in verschiedenen Komponenten überschrieben. Leider habe ich dabei in einer Methode vergessen inherited aufzurufen, was wiederrum in Delphi 2005 in einer Endlosschleife resultierte.

Hast du da eventuell eine Ahnung, warum das passiert? (Rein Interesse halber)

Grüße,

UKW

P.S.: VIELEN, VIELEN Dank für deine tatkräftige Hilfe!

sakura 1. Jul 2005 14:29

Re: Delphi 2005 stürzt ab beim Schließen des Projekts
 
Zitat:

Zitat von UKW
So ich habe es endlich herausgefunden

:firejump:

Zitat:

Zitat von UKW
Es lag, wie du schon vermutet hattest, nicht an Delphi.

Hin und wieder ist es ja nicht Delphi :zwinker:

Zitat:

Zitat von UKW
die Notification Methode in verschiedenen Komponenten überschrieben. Leider habe ich dabei in einer Methode vergessen inherited aufzurufen, was wiederrum in Delphi 2005 in einer Endlosschleife resultierte.

Ich vermute mal, dass Delphi versucht hat eine Nachricht an die Komponente zu senden, dass diese sich bei nächster Gelegenheit freigibt und auf dieses Ereignis wohl erfolglos gewartet hat, aber ganz sicher bin ich mir auch nicht.

...:cat:...

DP-Maintenance 1. Jul 2005 14:29

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Delphi - Bugreports" nach "VCL / WinForms / Controls" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 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