TAdvWebBrowser: get exception in TAdvWinWebBrowser.NavigateWithData

I have a TAdvWebBrowser and a TDBAdvGrid on a form to display PDF-Files from a xdataserver.
In the Formshow-event i select the first row of the the grid, the Clickcell -Event of the grid retrieves the Document-ID out of the Gridrow to call AdvWebBrowser.NavigateWithData(uri, 'POST',body, headers). In the Formshow-Event i get an exception in TAdvWebbrowser. It seems that the edgebrowser is not jet inialized. To solve this issue i call NavigateWithData in the Inialized-Event of the TAdvWebBrowser when the Form is showed. Following requests after formshow are called from The GridClickevent.
But i get this exception in 1 of 10 calls on FullHDScreens, on 4K Screens the exception in TAdvWinWebBrowser.NaviagteWithData are 4 of 10 times. With 8K Screens the exception happens betwenn evry call or every third call.

In the case of an exception FWebBrowserWebView2 is nil. When i alter the TMS-Code in TAdvWinWebBrowser.NavigateWithData and check if FWebBrowserWebView2 ist nil and exit the procedure and repeat the call it works.

I think there is a racecondition on Higher DPI Screens especialliy with 4k Screesn connected to notebooks. Maybe you can tell me how to avoid this issue.

Maybe you could look why FWebBrowserWebView2 is sometimes nil.

procedure TAdvWinWebBrowser.NavigateWithData(AURI, AMethod: string; ABodyStream: TStream; AHeaders: TStrings);
{$IFDEF EDGESUPPORT}
var
req: ICoreWebView2WebResourceRequest;
w2: ICoreWebView2_2;
we2: ICoreWebView2Environment2;
hs: ICoreWebView2HttpRequestHeaders;
I: integer;
{$ENDIF}
begin
{$IFDEF EDGESUPPORT}
if (FWebBrowserWebView2.QueryInterface(IID_ICoreWebView2_2, w2) = S_OK) then
begin
if (FWebBrowserEnvironment.QueryInterface(IID_ICoreWebView2Environment2, we2) = S_OK) then
begin
if Assigned(FBodyStream) then
begin
FBodyStream.Free;
FBodyStream := nil;
end;
FBodyStream := TMemoryStream.Create;
FBodyStream.LoadFromStream(ABodyStream);

  if (we2.CreateWebResourceRequest(PWideChar(AURI), PWideChar(AMethod), TStreamAdapter.Create(FBodyStream, soReference), PWideChar(''), req) = S_OK) then
  begin
    if Assigned(AHeaders) and (req.get_Headers(hs) = S_OK) then
    begin
      for I := 0 to AHeaders.Count - 1 do
      begin
        hs.SetHeader(PWideChar(AHeaders.Names[I]), PWideChar(AHeaders.ValueFromIndex[I]));
      end;
    end;
    w2.NavigateWithWebResourceRequest(req);
  end;
end;

end;
{$ENDIF}
end;

Can you provide us with a full code sample?