Hallo Zusammen,
ich seniere gerade über die beste Möglichkeit
wenn Packages mit Loadpackage geladen werden und in fast jeder
Unit eine Initialisierung statt findet
wie komme ich ohne großen aufwand an die Ergebnise der einzelnen Units?
Mit Loadpackage(Name,
MyFeedback) kann ich doppelte Units rausfinden...
wenn ich jetzt getinitialErrorID auswerten könnte währe das was ich mir Vorstelle?
Ein ähnlicher Aufruf wird wohl das altbekannte "Register" für Komponenten in der
IDE sein...
procedure Register;
begin
ForceDemandLoadState(dlEnable);
RegisterComponents('RoseSoft', [TRForm]);
end;
Leider weis ich nicht wie ich das machen soll, Ich kriege Alle Units mit GetPackageInfo...
Aktuell nehm ich CheckForDuplicateUnits auseinander ....
Code:
unit MyDyn_Unit;
// ist in MyPackage.bpl entahlten und hat keine dritten oder übergreifende Units...
interface
uses
SysUtils, Classes;
type
TMyData = class(TObject)
....
end;
function getinitialErrorText:String;
function getinitialErrorID:Integer;
implementation
Var
ErrorText:String;
ErrorID:Integer;
function getinitialErrorText:String;
begin
result := ErrorText;
end;
function getinitialErrorID:Integer;
begin
result := ErrorID;
end;
{Alles für TMyData}
initialization
TGlobalData.Instance;
finalization
TGlobalData.ReleaseInstance;
end.
Code:
var
H : THandle;
begin
H := LoadPackage('MyPackage.bpl');
if CheckPachageInit(H) <> 0 then raise ....