Einzelnen Beitrag anzeigen

Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Internetexplorer Seite ändern und absenden

  Alt 14. Mär 2006, 16:20
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.
Jan
  Mit Zitat antworten Zitat