Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Funktionen aus DLL verwenden (https://www.delphipraxis.net/196747-funktionen-aus-dll-verwenden.html)

Automatisierung 15. Jun 2018 14:14

Funktionen aus DLL verwenden
 
Hallo zusammen,

ich habe eine C++ DLL Datei aus der ich gerne einige Funktionen in Delphi nutzen würde.
Es geht um die Kommunikation mit einem Messgerät über TCP/IP.

Die Verbindung funktioniert schon und ich finde das Gerät mit einer Funktion aus der DLL.


Jetzt stoße ich allerdings auf ein Problem, für das ich als Anfänger in Sachen Delphi keine Lösung finde:

In der Header Datei zur DLL wird ein Typ angelegt, der in der DLL Datei definiert ist. Mit diesem Typen wird das gesamte Handling des Geräts realisiert. Die Header Datei kann ich in Delphi nicht benutzen und die DLL Datei kann ich nicht auslesen. Deshalb meine Frage:
Komme ich irgendwie an den Aufbau dieses Typen um ihn in Delphi anzulegen und zu verwenden?


Ich habe bestimmt einige Infos vergessen und hoffe auf Nachsicht ;-) Ich werde natürlich alles nachliefern wenn es noch Fragen gibt.

Danke schon mal im Voraus für eure Zeit und Hilfe!

TiGü 15. Jun 2018 14:38

AW: Funktionen aus DLL verwenden
 
Wenn du uns den C-Header (Datei mit Endung .h) hier posten könntest, wäre das super. Bitte mit [ CODE] und [/CODE] umschließen. Oder als Anhang!

Um eine händische Übersetzung des Headers nach Delphi kommst du wohl nicht rum.
Aber wir können dir helfen.

KodeZwerg 15. Jun 2018 15:40

AW: Funktionen aus DLL verwenden
 
Soweit ich weiß gibt es keine Api die Dir wiedergibt wie ein Dll Input/Output auszusehen hat.
Es gibt allerdings Möglichkeiten, mit IDA zum Beispiel, sich in die Dll Prozedur/Funktion hineinzuversetzen um daraus den korrekten Input/Output abzuleiten. Dies Bedarf Erfahrung mit Assembler.

Fritzew 15. Jun 2018 16:28

AW: Funktionen aus DLL verwenden
 
Zitat:

Zitat von KodeZwerg (Beitrag 1404919)
Soweit ich weiß gibt es keine Api die Dir wiedergibt wie ein Dll Input/Output auszusehen hat.
Es gibt allerdings Möglichkeiten, mit IDA zum Beispiel, sich in die Dll Prozedur/Funktion hineinzuversetzen um daraus den korrekten Input/Output abzuleiten. Dies Bedarf Erfahrung mit Assembler.

Liest Du eigentlich die Fragen bevor Du antwortest?

Er hat die Header Datei... Da braucht man bestimmt keinen Assembler

KodeZwerg 15. Jun 2018 16:30

AW: Funktionen aus DLL verwenden
 
Zitat:

Zitat von Automatisierung (Beitrag 1404916)
Komme ich irgendwie an den Aufbau dieses Typen um ihn in Delphi anzulegen und zu verwenden?

Darauf bezieht sich mein Text.
Da
Zitat:

Zitat von TiGü (Beitrag 1404917)
Wenn du uns den C-Header (Datei mit Endung .h) hier posten könntest

noch unbeantwortet ist.

Fritzew 15. Jun 2018 16:32

AW: Funktionen aus DLL verwenden
 
Zitat:

Zitat von KodeZwerg (Beitrag 1404922)
Darauf bezieht sich mein Text.

Noch mal er hat die Header Datei. Da steht alles drin normalerweise.....

KodeZwerg 15. Jun 2018 16:39

AW: Funktionen aus DLL verwenden
 
Nochmal
Zitat:

Zitat von KodeZwerg (Beitrag 1404922)
Zitat:

Zitat von TiGü (Beitrag 1404917)
Wenn du uns den C-Header (Datei mit Endung .h) hier posten könntest

noch unbeantwortet ist.

Aber jetzt bitte kein Ping-Pong Spiel daraus machen, Danke.

edit
Beachte das dick geschriebene
Zitat:

Zitat von Automatisierung (Beitrag 1404916)
Komme ich irgendwie an den Aufbau dieses Typen um ihn in Delphi anzulegen und zu verwenden?

"Irgendwie" impliziert alles. Ich gab einen Teil von "alles" wieder.

DeddyH 15. Jun 2018 16:59

AW: Funktionen aus DLL verwenden
 
DFTT :mrgreen:

Luckie 15. Jun 2018 17:33

AW: Funktionen aus DLL verwenden
 
Das
Zitat:

In der Header Datei zur DLL wird ein Typ angelegt
kann er aber nur wissen, wenn er die Headerdatei auch hat.

So und jetzt warten wir einfach mal alle auf die Header-Datei.

KodeZwerg 15. Jun 2018 22:31

AW: Funktionen aus DLL verwenden
 
Zitat:

Zitat von Luckie (Beitrag 1404929)
So und jetzt warten wir einfach mal alle auf die Header-Datei.

:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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