Delphi-Quellcode:
function VBGetObject(const Filename: string; const ClassName: string = ''): IDispatch;
var
ClassID: TCLSID;
Unknown: IUnknown;
begin
if ClassName <> '' then
Result := GetActiveOleObject(ClassName)
else
begin
OleCheck(GetClassFile(PChar(Filename), ClassID));
OleCheck(GetActiveObject(ClassID, nil, Unknown));
OleCheck(Unknown.QueryInterface(IDispatch, Result));
end;
end;
Das wäre die Implementierung der VB GetObject Funktion. Das "APPFX" ist der Dateiname und nicht der Klassenname, da die VB Funktion zwei Parameter hat und der erste den Dateinamen angibt.