![]() |
Dcc70.dll mit Zugriffsverletzungen beim dpk Installieren
Es passiert nur bei einem bestimmten Package.
Wenn ich installieren drücke passiert beim LINKEN der Fehler "Zugriffsverletzung bei Adresse" ( Sad ) " 009D1866 in Modul dcc70.dll' Lesen von Adresse 88037007." Was passiert beim Installieren anderes als beim erzeugen? |
Re: Dcc70.dll mit Zugriffsverletzungen beim dpk Installieren
Eine Ursache scheint zu sein
das folgende Konstruktion KEINE Exception wirft. Sprich im Initialization teil scheint der ReRaise nicht zu funktionieren wenn ich das Package installiere. Es kommt die dämliche Fehler Meldung mit der Zugriffsverletzung Es hätte aber Eine Meldung über eine nicht existierende Datei kommen müssen.... Und in der Anwendung klappt das auch. So geht es (also mit der richtigen Fehlermeldung)
Delphi-Quellcode:
So nicht initialization // try Libs := TRunSmartLibs.Create; // Bibliotheken Verwaltungsobjekt Erzeugen InitWithDefaults := true; // Standardmässig Default Einstellungen verwenden InitStandards; //Dateizugriff auf INIFile welche die Einstellungen lädt If InitWithDefaults then LoadDBLib(DBLibDLLName(DefaultDB));//Laden der DLL//BPL Funktionen in die Procedure variablen // except // on e:Exception do // raise exception.create(e.Message+#13#10'In Unit Libimport Initialization'); // end; Finalization // try // UnloadDBLib;// Alle Bilbliotheken wieder entladen. if assigned(libs) then Libs.free;// Bibliotheksverwaltungsobjekt freigeben. // except // on e:Exception do // raise exception.create(e.Message+#13#10'In Unit Libimport Finalization'); // end; end.
Delphi-Quellcode:
Vermutlich also erstmal das Problem behoben...sobald ich die vermisste Datei in den Projects Ordner kopiere...
initialization
try Libs := TRunSmartLibs.Create; // Bibliotheken Verwaltungsobjekt Erzeugen InitWithDefaults := true; // Standardmässig Default Einstellungen verwenden InitStandards; //Dateizugriff auf INIFile welche die Einstellungen lädt If InitWithDefaults then LoadDBLib(DBLibDLLName(DefaultDB));//Laden der DLL//BPL Funktionen in die Procedure variablen except on e:Exception do raise exception.create(e.Message+#13#10'In Unit Libimport Initialization'); end; Finalization try // UnloadDBLib;// Alle Bilbliotheken wieder entladen. if assigned(libs) then Libs.free;// Bibliotheksverwaltungsobjekt freigeben. except on e:Exception do raise exception.create(e.Message+#13#10'In Unit Libimport Finalization'); end; end. Falls irgendwem dieser Monolog weiterhilft. Wie habe ich das herrausbekommen? Ein Dummy Package mit nem TEDIT nachfahren Genommen und schritt weise Units die ich in dem original package verwende hinzu genommen und in der Dummykomponente benutzt... bis sich der Fehler einstellte... Danach Abschnittsweise in der Unit auskommentiert.... Dabei bin ich auf den Code
Delphi-Quellcode:
gestoßen der sich scheinbar kompilieren lässt...
raise Execption(E.message+'BLA')
dachte das muss doch heißen
Delphi-Quellcode:
da habe ich dann versucht mal ohne Try Excepts zu installieren....
raise Execption.create(E.message+'BLA')
tja.. so ein Scheiß. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz