Hallo zusammen,
in unserer Firma gibt es einen Webserver der zu Produkten diverse Informationen liefert.
Funktioniert so das ich in einer
URL diverse Parameter mitgebe und entsprechend dieser Parameter kann ich mir dann im Internet Explorer die Daten dazu anzeigen lassen...
Der Webserver liefert mir die Daten in einem
csv ähnlichen Format.
Damit die Daten für die User besser lesbar werden bereite ich die Daten in einem eigenen Programm auf...
Das Abrufen der Daten habe ich über die TWebBrowser Komponente realisiert...
Über den ReadyState der TWebBrowser Komponente versuche ich mitzubekommen wann der TWebBrowser die Daten erhalten hatt...
Anbei meine Code Schnipsel:
Delphi-Quellcode:
webbrowser_fmcall.Navigate(strl_urlfmcall.Text);
Repeat
Sleep(1000);
Application.ProcessMessages;
Until (webbrowser_fmcall.ReadyState <> READYSTATE_LOADING) or (Application.Terminated);
Sleep(2000);
strl_datafmcall.Clear;
varContent := webbrowser_fmcall.Document;
If webbrowser_fmcall.LocationURL <> '' Then
Begin
strl_datafmcall.Text := varContent.Body.OuterHTML
End Else
Begin
strl_datafmcall.Text := 'Error...';
End;
Ich Frage hier nicht den ReadyState READYSTATE_COMPLETE ab, da ich den TWebBrowser zur Laufzeit erst erstelle und ich hab hier im Forum irgendwo gelesen das man dann diesen Status nicht abfragen kann...
Ich habe jetzt aber das Problem das in manchen Fällen anscheinends der ReadyState nicht mehr gleich READYSTATE_LOADING ist und mein Programm somit denkt das die Daten komplett sind...
Allerdings sind die Daten nicht komplett!
Hat jemand eine Idee woran das liegen kann, bzw. was ich falsch mache?