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:
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.
So nicht
Delphi-Quellcode:
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.
Vermutlich also erstmal das Problem behoben...sobald ich die vermisste Datei in den Projects Ordner kopiere...
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
raise Execption(E.message+'BLA')
gestoßen der sich scheinbar kompilieren lässt...
dachte das muss doch heißen
raise Execption.create(E.message+'BLA')
da habe ich dann versucht mal ohne Try Excepts zu installieren....
tja..
so ein Scheiß.