Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: D10.4.2 TWebBrowser funktioniert in der IDE nicht immer

  Alt 5. Mär 2021, 10:18
Herzlichen Dank für alle Tipps. Edge lief und läuft absolut problemlos, sowohl die neue Edge-Komponente wie auch TWebBrowser, wenn Edge selektiert.

Im Minimalprojekt nutzt TWebBrowser natürlich die Standardeinstellungen, also IE11.

Windows habe ich via RestoreHealth und sfc gecheckt. Zeigt nix an. (Was natürlich immer noch nicht bedeutet, dass alles OK.)

Peinlich wegen Win-Sandbox: Ich verwende noch Win Home... (Ich verspreche mir Besserung.)

Ich glaube, es liegt an ieframe.dll vom 18.2.21. (11....844).

Bei eingeschaltetem AppVerifier aus dem Win SDK tritt der Fehler (access violation at 0x69f43714) beim Debuggen (zum Beispiel) via Delphi immer (also reproduzierbar) auf.

Beim Abarbeiten (DispatchMessageW(Msg)) der ersten msg.Message=1125 in VCL.Forms function TApplication.ProcessMessage(var Msg: TMsg): Boolean;

direkt nach dem Rücksprung aus (pchKey=NIL, dw=0)
Delphi-Quellcode:
SHDocVW.pas: function TWebBrowser.GetOptionKeyPath(var pchKey: POLESTR; const dw: DWORD): HRESULT;
begin
  Result := E_FAIL;
end;
Dies nachdem zuvor
Delphi-Quellcode:
VCL.OleCtrls.TOleControl.Invoke(DispID: Integer; const IID: TGUID;
  LocaleID: Integer; Flags: Word; var Params;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
DispID = -5512 => Result := DISP_E_MEMBERNOTFOUND;



- App Verifier aus dem Win SDK starten
- sich vergewissern, dass ieframe.dll vom 18.2.21, .844 installiert ist
- in SHDocVW einen Breakpoint in TWebBrowser.GetOptionKeyPath setzen
- das Minimalprojekt laufen lassen
- weitersteppen nach TWebBrowser.GetOptionKeyPath
=> access violation at 0x69f43714
Michael Gasser
  Mit Zitat antworten Zitat