AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Funktionen aus DLL verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Funktionen aus DLL verwenden

Ein Thema von Automatisierung · begonnen am 15. Jun 2018 · letzter Beitrag vom 15. Jun 2018
Antwort Antwort
Automatisierung

Registriert seit: 14. Jun 2018
1 Beiträge
 
#1

Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 15:14
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!
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 15:38
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.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 16:40
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.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 17:28
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
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 17:30
Komme ich irgendwie an den Aufbau dieses Typen um ihn in Delphi anzulegen und zu verwenden?
Darauf bezieht sich mein Text.
Da
Wenn du uns den C-Header (Datei mit Endung .h) hier posten könntest
noch unbeantwortet ist.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 17:32
Darauf bezieht sich mein Text.
Noch mal er hat die Header Datei. Da steht alles drin normalerweise.....
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 17:39
Nochmal
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
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.
Gruß vom KodeZwerg

Geändert von KodeZwerg (15. Jun 2018 um 17:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 17:59
DFTT
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 18:33
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Funktionen aus DLL verwenden

  Alt 15. Jun 2018, 23:31
So und jetzt warten wir einfach mal alle auf die Header-Datei.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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