Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Reihenfolge der initialization (https://www.delphipraxis.net/193591-reihenfolge-der-initialization.html)

hoika 17. Aug 2017 19:25

Reihenfolge der initialization
 
Hallo,
hier ist ein interessantes Thema
https://entwickler-forum.de/archive/...p/t-21926.html

Nun stecke ich selber in der Problematik.

Gibt es wirklich keine Möglichkeit,
mein Unit1-initialization als allererstes durchlaufen zu lassen?

himitsu 17. Aug 2017 19:54

AW: Reihenfolge der initialization
 
Deine Unit als Erstes in die DPR und du darfst keine anderen Units referenzieren (außer System und SysInit)
und möglichst nicht mit Laufzeitpackages arbeiten.

Alles Andere kannst du vergessen, ohne gefährlich in der EXE rumpfuschen zu wollen, bevor deine Anwendung gestartet wird.

hoika 17. Aug 2017 19:57

AW: Reihenfolge der initialization
 
Halo,
danke für die Antwort.

Ich habe jetzt das initialization von Unit1 in eine Prozedur gepackt und rufe sie im
initialization von Unit2 auf.

Klappt ;)

himitsu 17. Aug 2017 20:39

AW: Reihenfolge der initialization
 
Im Prinzip ist es ganz einfach.

Der Compiler arbeitet ja linear, also was er zuerst im Code findet, bei der DPR angefangen, das wird auch zuerst eingebunden/ausgeführt.
Bindet deine Unit aber eine andere Unit ein (im Interface), dann wird die andere Unit vorher noch schnell compiliert/eingebunden, und deine Unit erst, wenn alles im Interface vorhanden ist.

Nur was in der Implementation eingebunden wurde, da kann es passieren, dass diese Units erst nach Deiner geladen werden.


Alles im Interface kommt immer vor der aufrufenden Unit, bzw. deine Unit kommt immer nach dem dran, was sie dort eingebunden hat.

hoika 17. Aug 2017 20:40

AW: Reihenfolge der initialization
 
Hallo,
im Prinzip schon, aber es handelt sich um lange gewachsenen Code ...

Der schöne Günther 17. Aug 2017 20:43

AW: Reihenfolge der initialization
 
Dass diese Leute schon vor 16 Jahren damit Probleme hatten und Gott uns bis heute keine besseren Werkzeuge geschenkt hat sollte einem deutlich sagen: Raus aus der initialization/finalization-Sache.

jaenicke 17. Aug 2017 21:44

AW: Reihenfolge der initialization
 
In alten Projekten stand auch einiges in initialization usw. drin, das haben wir nun alles ausgeräumt. Jetzt gibt es einen sauberen Startup- und Shutdown-Ablauf, in dem alles stattfindet. Auf die Weise kann auch rechtzeitig Logging usw. aktiviert werden und es gibt eine Kontrolle über den Ablauf.

Uwe Raabe 18. Aug 2017 09:04

AW: Reihenfolge der initialization
 
Zitat:

Zitat von hoika (Beitrag 1378960)
es handelt sich um lange gewachsenen Code ...

Irgendwann kommt eben die Zeit, wo der Code halt erwachsen werden muss.


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