AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-DLL nutzen mit VC++ 2010?!

Offene Frage von "blackdrake"
Ein Thema von blackdrake · begonnen am 31. Aug 2011 · letzter Beitrag vom 1. Sep 2011
Antwort Antwort
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

Delphi-DLL nutzen mit VC++ 2010?!

  Alt 31. Aug 2011, 21:16
Hallo,

ich dachte, dass es ziemlich einfach sei, eine DLL zu nutzen, doch ich scheine mich geirrt zu haben.

Ich habe eine DLL mit "stdcall" Funktionen, die ich mit Delphi exportiere.

Allerdings bekomme ich es nicht hin, diese DLL in VC++ 2010 zu nutzen. Hat hier jemand Erfahrungen mit der Interoperatibilität zwischen Delphi und VC++ ? Ich versuche schon seit 5 Tagen, eine Lösung für das Problem zu finden und bin langsam am verzweifeln.

Ich habe mein Problem bereits hier geschildert:

- http://www.c-plusplus.de/forum/p2113127#2113127 (Details)
- http://stackoverflow.com/questions/7...include-an-dll

Teilerfolg:

Wenn ich folgendes mache:

Delphi-Quellcode:
exports
  myfunc name 'myfunc@0';
dann kann ich die Funktion mit VC++ nutzen. Allerdings möchte ich gerne die Symbole undekoriert exportieren. Ich habe gesehen, dass die WinAPI-Funktionen (z.B. in kernel32.dll) ebenfalls undekoriert sind (obwohl sie alle stdcall sind).

Ich würde mich sehr über Hilfen freuen.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Delphi-DLL nutzen mit VC++ 2010?!

  Alt 31. Aug 2011, 21:35
Wenn ich folgendes mache:

Delphi-Quellcode:
exports
  myfunc name 'myfunc@0';
dann kann ich die Funktion mit VC++ nutzen. Allerdings möchte ich gerne die Symbole undekoriert exportieren. Ich habe gesehen, dass die WinAPI-Funktionen (z.B. in kernel32.dll) ebenfalls undekoriert sind (obwohl sie alle stdcall sind).
WIMRE kriegt man das mit .def-Dateien hin.

Edit: Schau mal hier.
Uli Gerhardt
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Delphi-DLL nutzen mit VC++ 2010?!

  Alt 31. Aug 2011, 22:23
Hallo,

ja, DEF files sind notwendig bei C++.

Diese Seite habe ich mir bereits durchgelesen, allerdings steht dort als einzigste Lösung, das Symbol mit Dekoration zu exportieren. Also "myfunction@0" anstelle "myfunction". Ich finde die zwingende Dekoration eines Exportsymbols allerdings unschön. (und ist mir so auch nicht bei bekannten DLLs aufgefallen)

Meine LIB sieht derzeit so aus:

Code:
LIBRARY  MYDLL
EXPORTS
  myfunction = _myfunction@0
Allerdings meckert C++ immer noch, dass "_myfunction@0" nicht aufgelöst werden kann, trotz Alias in der DEF. Mit einem Hexeditor kann ich sehen, dass in der DEF nur "_myfunction" definiert wird, aber nicht "_myfunction@0" wie ich es per Alias definiert habe.

Es muss doch einen Weg geben, undekorierte Symbole importieren zu können - schließlich ist die WinAPI auch komplett undekoriert.

Gruß
Daniel Marschall
Daniel Marschall
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Delphi-DLL nutzen mit VC++ 2010?!

  Alt 1. Sep 2011, 16:38
BITTE, könnt ihr mir helfen? Ich versuche schon seit 6 Tagen diese DLL in VC++ einzubinden und habe die Frage schon in 3 Foren gestellt. Kann mir denn keiner helfen?

Die DLL ist hier einmal hochgeladen

http://www.viathinksoft.de/temp/StatMonDll32.dll

Eines der exportierten Symbole heißt

"getVersionNumberA" (undekoriert)

Eine Funktion hiervon ist wie folgt deklariert:

function getVersionNumberA(): Cardinal; stdcall;
Code:
extern "C" int __stdcall getVersionNumberA();
Und sollte "0" zurückgeben.

Bitte helft mir, ich bin langsam am Verzweifeln!

Gruß
blackdrake
Daniel Marschall
  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 07:39 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