Announcement

Collapse
No announcement yet.

"Kryptischer" Funktionsname aus C++-DLL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • "Kryptischer" Funktionsname aus C++-DLL

    Hallo,
    folgendes Problem;
    Ein Kollege erstellt in C++ (Borland Compiler) eine DLL mit einer Funktion "sumlevel_if" an die verschiedene Parameter übergeben werden. Ich lade nun in Delphi (7 Enterprise) die DLL dynamisch, kann dann aber die Funktion nur unter dem Bezeichner "?sumlevel_if@@YANAAN0PAJ1@Z" aufrufen, dieser Bezeichner ändert sich dann, wenn unter C++ die DLL neu erstellt /gelinkt wird. Die Funktion selbst, samt Parameterübergabe, funktioniert perfekt.

    Wo macht wer was falsch ??

    Danke

    Andreas

  • #2
    Er macht zwar nichts falsch, aber Name Mangling (die Funktions- und Parameterbeschreibung ist im Namen enthalten) ist nicht sonderlich hilfreich bei Interfaces zwischen verschiedenen Compilern.

    Am bequemsten deaktiviert man das Name Mangling im C++ Projekt mit einer .DEF Datei (Modul Definitions Datei) und einem darin enthaltenen Export-Abschnitt.

    - nic

    Comment

    Working...
    X