Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   D2007 Zugriffsverletzung bei 2. Compilierung (https://www.delphipraxis.net/180474-d2007-zugriffsverletzung-bei-2-compilierung.html)

Mavarik 22. Mai 2014 13:48

D2007 Zugriffsverletzung bei 2. Compilierung
 
Hallo Zusammen!

"Geiles Problem"

Ich machen ein Build von einem SEHR großen Komponenten-Package.

Wenn der Compiler auch nur einen Fehler im Source findet... Sagen wir mal ";" vergessen oder was auch immer.

Erhalte ich beim 2. Build immer eine Zugriffsverletzung bei Adresse 20006678 in Modul rtl100.bpl.

Dann ist die IDE TOT...

Jemand ne Idee?

Mavarik

himitsu 22. Mai 2014 13:59

AW: D2007 Zugriffsverletzung bei 2. Compilierung
 
Vermutung: Du tust bei der Freigabe des Packages irgendwas nicht ordentlich oder garnicht freigeben/deregistrieren, was dann spätestens im zweiten Durchgang alles zerschießt, da immernoch versucht wird auf den alten Code zuzugreifen.
Oder etwas in der BPL ist geladen und wird nicht richtig freigegeben. (z.B. bei offenen Forms)

Wenn du möchtest, daß ein Package zur Laufzeit entladen und eventuell auch wieder neu geladen werden soll/kann, dann muß unbedingt alles ordentlich aufgeräumt werden.
PS: (Fremd)Komponenten sind einer der größten Feinde eines Programms (der IDE) und sorgenfür viele der Fehler, wofür am Ende das Programm (IDE) garnichts kann.


Und eventuell ist es auch besser, wenn keine Form/Unit geöffnet ist, wo eine der Komponenten drauf ist.

Im XE3 kann ich zwar auch problemlos ein Komponenten-Package kompilieren, aber im XE knallt es auch gerne mal, wenn eine Form noch sichtbar ist.
Wenn Unit geschlossen oder entladen, da grade in der DFM-Ansicht (Alt+F12), dann gibt es auch selten Probleme.
Nja, wo es mir dennoch die IDE gern mal wegschießt, wenn eine Form offen ist und beim Kompilieren irgendwo ein Compilerfehler auftrat, was danach die offenen Instanzen schrottet.

PS: Ich hab hier (XE) 25 BPLs in der IDE hängen (und weitere 32 DLLs) und obersten knapp 8 kann man fast nicht in der IDE kompilieren, weil da auch irgendwo Mist gebaut wird.

stahli 22. Mai 2014 19:49

AW: D2007 Zugriffsverletzung bei 2. Compilierung
 
Mal mit meinen Worten...

Delphi hatte da irgendwann mal etwas umgestellt.
Wenn man ein Package kompiliert, das sichtbare Controls enthält werden die erst mal "temporär komplett entladen".
Wenn Du zu dem Zeitpunkt oder zuvor ein Formular offen hattest, das ein solches Control enthält, dann knallt es ziemlich schnell.

Ich habe dann darauf geachtet, das nicht beide Seiten gleichzeitig bearbeitet werden (und inzwischen resigniert).

Früher (vor der Umstellung) kannte ich solche Probleme nicht.


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