So, ich konnte den Fehler auf folgende Codezeile eingrenzen:
Delphi-Quellcode:
function GetIEFromHWND(WHandle: HWND; var IE: IWebbrowser2): HRESULT;
var
hInst: HWND;
lRes: Cardinal;
MSG: Integer;
pDoc: IHTMLDocument2;
ObjectFromLresult: TObjectFromLresult;
begin
hInst := LoadLibrary('Oleacc.dll');
@ObjectFromLresult := GetProcAddress(hInst, 'ObjectFromLresult');
if @ObjectFromLresult <> nil then begin
try
MSG := RegisterWindowMessage('WM_HTML_GETOBJECT');
SendMessageTimeOut(WHandle, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
Result := ObjectFromLresult(lRes, IHTMLDocument2, 0, pDoc);
if Result = S_OK then
(pDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp, IWebbrowser2, IE); //[b]HIER IST DER FEHLER[/b]
finally
FreeLibrary(hInst);
end;
end;
end;
Der Fehler tritt aber immer nur auf wenn ich den Code in eine
DLL packe und dann ausführe,
der Fehler tritt nicht auf wenn ich den Code direkt aus dem Programm aus ausführe.