So wie nachfolgend geht es auch mit einer EXE die ohne Laufzeitpackages compiliert wurde.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
Module: hModule;
begin
Module := LoadLibrary('VCLDB70.bpl');
if Module <> INVALID_HANDLE_VALUE then
try
Memo.Lines.BeginUpdate;
try
Memo.Clear;
EnumTypeInfo(Module, @TForm1.DoEnumTypeInfo, Self);
finally
Memo.Lines.EndUpdate;
end;
finally
FreeLibrary(Module);
end;
end;
Wichtig ist nur das du
nicht LoadPackage() benutzt da diese Funktion intern viel mehr Überprüfungen durchführt. Mit LoadPackage() können nur Packages geladen und
initialisiert werden die unterschiedliche Units zu den schon geladenen Modulen enthalten.
Gruß Hagen