Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Webbrowser längeres Datenbank-Update (https://www.delphipraxis.net/125091-webbrowser-laengeres-datenbank-update.html)

capo 30. Nov 2008 16:36


Webbrowser längeres Datenbank-Update
 
Ich verwende den Embedded WB um eine Mysql-Datenbank upzudaten.
Das kann bist zu einer Stunde dauern, dabei friert meine Form ein und das Programm reagiert nur sehr schwerfällig.
Gibt es eine Möglichkeit das Programm dennoch frei beweglich (benutzbar) zu halten?
Sowas wie Application.ProcessMessages für den Webbrowser oder muss ich das zur Form hinzufügen?

Viele Grüße vom Capo

Bernhard Geyer 30. Nov 2008 21:15

Re: Webbrowser längeres Datenbank-Update
 
Wie wäre es mit der Verlagerung in einen Thread und Rückmeldung "Update in Progress ..." im Browser?

capo 30. Nov 2008 21:35

Re: Webbrowser längeres Datenbank-Update
 
Das hört sich sehr gut an, hast du ein Thread-Beispiel für einen EmbeddedWB?
Freundliche Grüße
Capo

Bernhard Geyer 30. Nov 2008 21:40

Re: Webbrowser längeres Datenbank-Update
 
Zitat:

Zitat von capo
Das hört sich sehr gut an, hast du ein Thread-Beispiel für einen EmbeddedWB?

Nicht den EmbeddedWB in einen Thread (geht nicht wegen fehlender Thread-Sicherheit der VCL) sondern was im Hintergrund Richtung MySQL abläuft.

Was hat den eigentlich der EmbeddedWB mit einem DB-Zugriff zu tun? Läuft da was auf dem Server ab oder wie soll ich das verstehen?

capo 30. Nov 2008 21:56

Re: Webbrowser längeres Datenbank-Update
 
Hi...
es geht um einen Shop der quasi über eine URL aktualisiert wird, der Status ist dabei im Webbrowser zu sehen.
Processed 47.4% 9/19 records.

capo 2. Dez 2008 12:17

Re: Webbrowser längeres Datenbank-Update
 
Delphi-Quellcode:
 while WB.ReadyState <> READYSTATE_COMPLETE do
  begin
  Application.ProcessMessages;
 end;
wäre das nicht sowas für den Webbrowser?
Funktioniert aber auch nicht...wenn ich mich nicht täusche.

Grüße
Capo

nahpets 2. Dez 2008 13:24

Re: Webbrowser längeres Datenbank-Update
 
Hallo,
Zitat:

Zitat von capo
Delphi-Quellcode:
 while WB.ReadyState <> READYSTATE_COMPLETE do
  begin
  Application.ProcessMessages;
 end;
wäre das nicht sowas für den Webbrowser?
Funktioniert aber auch nicht...wenn ich mich nicht täusche.

Grüße
Capo

nä, dass ist nur für Dein Programm, der Webbrowser bekommt da nix von mit.
Meiner Meinung nach kannst Du das Problem nur lösen, in dem der Webbrowser per Meta-Refresh alle soundsoviel Sekunden 'ne Seite vom Webserver lädt, in der der aktuelle Fortschritt steht. Diese Seite kannst Du allerdings in der von Dir beschriebenen Schleife erstellen. Musst dort halt die relevanten Fortschrittsdaten zusammenstellen und als HTML-Seite speichern.

OregonGhost 2. Dez 2008 13:28

Re: Webbrowser längeres Datenbank-Update
 
Zitat:

Zitat von nahpets
Meiner Meinung nach kannst Du das Problem nur lösen, in dem der Webbrowser per Meta-Refresh alle soundsoviel Sekunden 'ne Seite vom Webserver lädt, in der der aktuelle Fortschritt steht. Diese Seite kannst Du allerdings in der von Dir beschriebenen Schleife erstellen. Musst dort halt die relevanten Fortschrittsdaten zusammenstellen und als HTML-Seite speichern.

Oder, da man beim EmbeddedWB ja sowieso alles unter Kontrolle hat, per AJAX statt Meta-Refresh. Lässt das Ganze gegebenenfalls eleganter aussehen, weil es keine Page-Refreshes gibt.

mkinzler 2. Dez 2008 13:33

Re: Webbrowser längeres Datenbank-Update
 
Auch ohne embeddedWB würde ich auf Ajax setzen

capo 2. Dez 2008 15:10

Re: Webbrowser längeres Datenbank-Update
 
Danke für eure Antworten.
Wie mache ich das mit Ajax und Delphi bzw. dem EmbeddedWB?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz