Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Applikation initialisert "falsche" Unit (https://www.delphipraxis.net/187844-applikation-initialisert-falsche-unit.html)

ZOD 8. Jan 2016 13:27

AW: Applikation initialisert "falsche" Unit
 
Danke an alle.

Da ich nicht das Wissen und die Zeit habe, die jclDebug komplett zu verstehen, habe ich die Initialisierungen des Jedi-Debugsystems in die Unit RMGlob verlegt.

Jetzt funktioniert auch das
Delphi-Quellcode:
JclStartExceptionTracking
in allen Modulen (Rückgabewert True). Somit ist das durchlaufen der Initialization von uMain kein Problem mehr und bleibt eben so.

pertzschc 8. Jan 2016 13:49

AW: Applikation initialisert "falsche" Unit
 
Okay, der erste Beitrag ist schon etwas her und die Lösung schon gefunden - aber mal noch zur Abrundung der Problematik:

Zitat:

Zitat von ZOD (Beitrag 1326379)
Seit einer Woche (nach irgendeiner Änderung von mir, die ich nicht erkenne/finde) habe ich nun das Problem, das beim Start des Werkstattmoduls zuallererst das
Hauptformular des AV-Modul initialisiert wird.

Dazu solltest Du Deine Sourcecodeverwaltungssystem befragen, wass Du vor einer Woche (schön, wenn man den Zeitraum eingrenzen kann) geändert hast. Welches verwendest Du denn?

Grüße, Christoph

ZOD 8. Jan 2016 13:54

AW: Applikation initialisert "falsche" Unit
 
Hi Christoph,

das habe ich natürlich getan, BEVOR ich hier gefragt habe. Deshalb habe ich gesagt
Zitat:

nach irgendeiner Änderung von mir, die ich nicht erkenne/finde)
Ich habe noch ein betagtes CVS am laufen, das mir schon viele gute Dienste geleistet hat! 8-)

Dalai 8. Jan 2016 14:03

AW: Applikation initialisert "falsche" Unit
 
Zitat:

Zitat von nahpets (Beitrag 1326388)
Soweit ich das mitbekommen habe, baut Delphi beim Kompilieren letztlich aber nur das zusammen, was auch gebraucht wird. Der Initialisierungsteil einer nicht benötigten Unit wird daher nicht in die Exe übernommen.

Doch, das ist so. Probier's mal aus: neues Kommandozeilenprojekt anlegen, komplett kompilieren, Größe des Kompilats merken. Dann Unit Classes einbinden, erneut komplett kompilieren, und anschließend die Größe mit der vom ersten Kompiliervorgang vergleichen. Ergebnis: das Kompilat ist mit Unit Classes deutlich größer. Daraus kann man schließen, dass mindestens die initialization-Abschnitte (und alles, was dafür benötigt wird) mit im Kompilat landen. Hat die Unit keine derartigen Abschnitte und es werden auch keine Funktionen aus der Unit irgendwo im Projekt benutzt, dann landet von dieser Unit natürlich nichts im Kompilat.

MfG Dalai

pertzschc 8. Jan 2016 14:16

AW: Applikation initialisert "falsche" Unit
 
Zitat:

Zitat von ZOD (Beitrag 1326404)
Ich habe noch ein betagtes CVS am laufen, das mir schon viele gute Dienste geleistet hat! 8-)

Dann empfehle ich Dir dringend eine Migration auf Subversion oder GIT.
Gutes Gelingen weiterhin, Christoph

nahpets 8. Jan 2016 14:17

AW: Applikation initialisert "falsche" Unit
 
@Dalai

daraus schließe ich jetzt mal ganz naive, es ist durchaus sinnvoll aus der Uses-Anweisung alle Units rauszuwerfen, die man nicht benötigt (egal, warum auch immer sie da mal reingekommen sein sollten).

ZOD 8. Jan 2016 14:22

AW: Applikation initialisert "falsche" Unit
 
mhm - uses bereinigen ist gut. Gibt es dafür Helferleins?

Klaus01 8. Jan 2016 14:28

AW: Applikation initialisert "falsche" Unit
 
.. vielleicht ist hier die Antwort zu finden.

Grüße
Klaus

nahpets 8. Jan 2016 14:34

AW: Applikation initialisert "falsche" Unit
 
Meine Methode "brutal" ist da immer:

Alles auskommentieren und kompilieren.

Was die IDE dann wieder reintut wird gebraucht und fliegt aus dem Auskommentierten raus.

Dann Kompilieren, wenn was fehlt, meckert der Compiler. Unit dazu wird aus dem Kommentar verschoben zu den Benötigten.

Das wird solange wiederholt, bis der Compiler zufrieden ist. Der Rest kommt weg.

Natürlich kannst Du beim Auskommentieren alles das weglassen, von dem Du sicher bist, dass es benötigt wird.

hoika 8. Jan 2016 14:36

AW: Applikation initialisert "falsche" Unit
 
Hallo,
die Reihenfolge der initializations ist einfach rauszubekommen.
Breakpoint auf das begin in der dpr und dann F7 drücken.

Ich hätte den Code in eine Extra-Unit gepackt und die als erste in beide dpr's eingetragen.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 Uhr.
Seite 2 von 3     12 3      

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