Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Java-Anwendung mit einer Delphi-Anwendung fernsteuern (https://www.delphipraxis.net/190368-java-anwendung-mit-einer-delphi-anwendung-fernsteuern.html)

Papaschlumpf73 28. Sep 2016 11:21

Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Liebe Delphi-Gemeinde,

bei meinen Kunden läuft eine VCL-Anwendung und generiert Daten, welche die Anwender (mühevoll und zeitaufwendig) manuell in eine Java-Anwendung eines anderen Anbieters übertragen müssen.

In der Java-Anwendung öffnet der Anwender einen Dialog über das Hauptmenü, trägt dort ein Datum und einen Betrag ein, wählt einen Eintrag aus einer ComboBox aus und klickt auf „Speichern“.

Der andere Anbieter ist (vorsichtig ausgedrückt) sehr zurückhaltend, wenn es um entsprechende Schnittstellen geht. An den Quellcode der Java-Anwendung komme ich auch nicht heran und der direkte Zugriff auf die dahinterliegende Datenbank ist tabu.

Welche Möglichkeiten seht Ihr, diesen Vorgang aus der Delphi-Anwendung heraus zu automatisieren? Und bevor Ihr mich in der Luft zerreißt: Ich habe keine Ahnung von Java.

Der schöne Günther 28. Sep 2016 11:50

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Anmerkung: Ich persönlich würde mich hüten die Notlösung "Fremde GUI fernsteuern" zu wählen und dann wahrscheinlich für die Eingaben deines Programms zu haften. Da muss doch nur der "andere Anbeiter" einmal was an seiner Oberfläche ändern und dein Programm macht entweder nichts mehr oder gibt - noch schlimmer - Dinge falsch ein.

Luckie 28. Sep 2016 12:02

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Wird schwierig werden, da GUI Java Programme ihre Steuerelemente selber zeichnen und sie somit kein Windows Handle besitzen, welches man zur Identifizierung nützen könnte, um Nachrichten an das betreffende Steuerelement zu schicken.

Gibt es keine Importschnittstelle oder eine API für das Java Programm?

Sherlock 28. Sep 2016 12:05

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Lass es bleiben. Nenn das Kind beim Namen (unkooperativer Dritthersteller) und verbrenn Dir nicht die Finger (Geld und Zeit in etwas stecken, das nach einer kleinen GUI-Änderung nicht mehr geht) an so einer Sache.

Sherlock

Papaschlumpf73 28. Sep 2016 12:11

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Die Versionskontrolle und Fernsteuerung einer reinen Windows-Anwendung würde ich problemlos hinbekommen. Nur bei Java ist eben alles anders. Es muss auch nicht zwangsläufig eine GUI-Fernsteuerung sein. Ich wollte nur den bisherigen Arbeitsablauf verdeutlichen.

Es gibt definitiv keine Importschnittstelle. Ob APIs vorhanden sind, weiß ich nicht. Wie gesagt, dieser Anbieter ist nicht besonders kooperativ. Gibt es denn eine Möglichkeit, eine Liste der APIs und Parameter aus einer Java-Anwendung auszulesen?

Union 28. Sep 2016 12:15

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Nicht nur das, du kannst das ganze auch refaktorieren, dafür gibt es diverse Tools.

Papaschlumpf73 28. Sep 2016 12:23

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Ich habe ca. 20 Kunden, die jeweils ca. 25.000 Euro pro Jahr an Personalkosten für diese manuelle Erfassung ausgeben müssen. Das sind insgesamt 500 TDE pro Jahr.

So schnell möchte ich das Thema daher noch nicht fallen lassen. Ich habe sehr kooperative Kunden, die jede neue Version der Java-Anwendung zunächst in einer Testumgebung ausprobieren.

Vielleicht hat ja noch jemand eine zündende Idee?

Blup 28. Sep 2016 12:27

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Wenn der Anbieter keine Importschnittstelle vorgesehen hat, hat das sicher auch einen Grund.
Man sollte so etwas über die Benutzeroberfläche eigentlich nicht tun.
Deshalb würde ich, wenn das nicht zu vermeiden ist, ein zusätzliches Exportprogramm nur für diesen Anwendungsfall erstellen.
Mit eigenene Nutzungsbedingungen und Haftungsbeschränkung.

Das Problem hat aber nichts mit der jeweiligen Programmiersprache zu tun.
Ein Weg wäre Fensterhandle über die Windows-API zu ermitteln und die Anwendung per Windows-Botschaften zu steuern.
Dafür fehlen dir aber vermutlich die notwendigen Kenntnisse, sonst würdest du die Frage anders formulieren.
Du könntest aber aus deinen Daten ein Tastenmacro bilden und die Steuerung einem geeigneten Player überlassen.
Vieleicht ist da etwas geeignetes mit entsprechender Doku der Makrodatei dabei:
https://www.heise.de/download/produc...ftware/makros/

Papaschlumpf73 28. Sep 2016 12:37

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Zitat:

Zitat von Blup (Beitrag 1349038)
Wenn der Anbieter keine Importschnittstelle vorgesehen hat, hat das sicher auch einen Grund.

Na klar: Der Anbieter will eine schlechte Kopie meiner Software als eigenes Modul verkaufen.

Zitat:

Zitat von Blup (Beitrag 1349038)
Das Problem hat aber nichts mit der jeweiligen Programmiersprache zu tun.

Das sehe ich etwas anders - wie auch Luckie - In einer Windows-Anwendung hat (fast) jedes Control ein Handle, welches ich auslesen, überwachen und fernsteuern kann. Bei Java-Anwendungen jedoch nicht. Macro-Aufzeichnungen oder SendKeys sind mir dann doch etwas zu gefährlich.

mkinzler 28. Sep 2016 12:38

AW: Java-Anwendung mit einer Delphi-Anwendung fernsteuern
 
Es ist nur fraglich, ob das Javaprogramm überhaupt Windows-Controls verwendet.

http://www.delphipraxis.net/15388-wi...6-09-08-a.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 Uhr.
Seite 1 von 3  1 23      

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