AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++ DLL in Delphi - Exportname der Methoden
Thema durchsuchen
Ansicht
Themen-Optionen

C++ DLL in Delphi - Exportname der Methoden

Ein Thema von Lemmy · begonnen am 27. Okt 2008 · letzter Beitrag vom 27. Okt 2008
Antwort Antwort
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#1

C++ DLL in Delphi - Exportname der Methoden

  Alt 27. Okt 2008, 07:50
Hallo,

ich habe hier eine C++ DLL (C++Builder 5) die lt. Headerdatei die Methoden exportiert:

Code:
//Initialisierung der Liste
void InitialisierungDLL(); // muss vor der ersten Verwendung aufgerufen werden
void DeinitialisierungDLL(); // muss nach der letzten Verwendung aufgerufen werden,
Wenn ich versuche die Methode einzubinden geht nichts (die Methode wird nicht gefunden). Ich habe jetzt mit einem PE-Explorer die DLL angeschaut und das kommt dabei raus:

Code:
@InitialisierungDLL$qv (Ordinal: 1, Entry Point RVA: 5118h (20.760))
@DeinitialisierungDLL$qv (Ordinal: 2, Entry Point RVA: 51fch (20.988))
Wenn ich die Methoden so anspreche, dann klappt das.
1. Warum ist das so?
2. Wie kann ich das umstellen (Zugriff auf die C++DLL ist vorhanden)

Ach ja: Das Zeugs nach dem "$" ist nicht immer identisch: qiidd4boolt5t5t5. Wenn ich mir das so anschauen könnten das die Typen der Übergabeparameter sein. dann sollte das eigentlich im Builder doch abstellbar sein. weiß jemand wie?

GRüße
Lemmy
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#2

Re: C++ DLL in Delphi - Exportname der Methoden

  Alt 27. Okt 2008, 08:25
C++-Compiler verwenden für Symbole Names- und Typdekorationen, um Überladungen abbilden zu können.
Um das "name mangling" / die "name decoration" zu verringern, kann man die Exporte in C++ als "C" deklarieren (extern "C" {}).
Der normale Weg den exportierten Namen eines Symbols vorzugeben, ist die Verwendung einer Moduldefinitionsdatei (*.def).
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: C++ DLL in Delphi - Exportname der Methoden

  Alt 27. Okt 2008, 08:39
Vielen vielen Dank Nico!!!
  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 21:40 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