Korrekt, und mit System.EnumModules() kannst du über die geladenen Packages iterieren.
Delphi-Quellcode:
uses TypInfo, HagEnumInfo;
function TForm1.DoTypeInfo(Info: PTypeInfo): Boolean; register;
begin
Result := False;
if Info.Kind = tkClass then
Memo1.Lines.Add(GetModuleName(FindHInstance(Info)) + ', ' + Info.Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
function MyEnumModule(Instance: Integer; Data: Pointer): Boolean;
begin
Result := not EnumTypeInfo(Instance, @MyEnumTypeInfo, Data);
end;
begin
Memo1.BeginUpdate;
try
Memo1.Clear;
EnumModules(@MyEnumModule, Self);
finally
Memo1.EndUpdate;
end;
end;
Gruß Hagen