Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

Kommunikation zwischen Web-Browser und Delphi-Programm

  Alt 11. Nov 2009, 22:49
Hallo,

folgende Ausgangslage:
Wir haben hier mehrere mySQL-Datenbanken, die auf einem Server laufen. Die User-Interfaces laufen alle über php auf einem Web-Browser (z.B. Firefox). Jetzt ist es notwendig, bestimmte Operationen auf den Clients selbst zu machen (z.B. Scannen, Faxen, Drucken, Dateien auf einem Fileserver sortieren, Dateien zum Bearbeiten öffnen ...) Auf die Clients kann ich mittels php - jedenfalls nicht ohne Tricks und MS ActiveX - nicht zugreifen. Das ist auch nicht mein Ziel. Es gibt deshalb derzeit mehrere kleine Delphi-Programme, die über Semaphoren gestartet und gesteuert werden. Das sind kleine Textdateien in einem bestimmten freigegebenen Verzeichnis mit klar definiertem Inhal. Das funktioniert soweit ganz gut. Wären es alles Delphi-Programme, würde ich es mit SendMessage() machen; ist aber leider nicht... Ich habe aber Probleme im VPN. Bei vielen Benutzern gibt es viele Dateien, was wiederum das Durchsuchen der Steuerdateien extrem verlangsamt und wertvolle Bandbreite kostet.

meine Idee:
Ich lasse mir die Befehle mittels php über den Browser ausgeben. Z.B. würde ein ".../aktion/?#oeffne=Y:\Texte\2567\Schreiben%20an%20Delphi-Praxis.odt" in der URL meinem Programm den Befehl geben, die Datei zu öffnen.

meine Probleme:
Momentan lösche ich meine Steuerdatei einfach, wenn die Aktion ausgeführt wurde. Es gab also keine doppelten Aktionen. Solange die URL so lautet, würde ich dann unentwegt die Datei (mehrfacj) öffnen. Jetzt müsste ich aber z.B. die URL ändern können, ohne dass gleich das Fenster neu geladen wird. Das bekomme ich nicht hin.
Außerdem lese ich im Moment die URL mittels eines Timers so aus. Das gefällt mir aber nicht und ich bin gerade dran, es mit WWW_RegisterURLEcho zu versuchen.

meine Fragen:
Hat schon mal jemand eine lauffähige Lösung zu WWW_RegisterURLEcho gefunden? Falls ja, wo?
Gibt es (ggf. auch in andere Richtungen) Ideen, wie ich das Kommunikationsproblem lösen kann?

Wie gesagt: Das System steht und arbeitet. Ich möchte es nur ggf. schneller und effektiver haben.

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat