Einzelnen Beitrag anzeigen

Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#1

[C++] Dynamische DLL - Funktion nicht gefunden

  Alt 9. Nov 2009, 15:52
Hi Leute

ich habe mich ein wenig an DLLs in C++ versucht und stehe gerade vor folgendem Problem. Die DLL sowie die beiden Testprogramme sind folgendermaßen definiert:

Code:
// Deklaration in DLL-Header
...
__declspec(dllexport) double Addieren(double p_dA, double p_dB);
...
// DLL-CPP
...
double Addieren(double p_dA, double p_dB)
{
   return p_dA + p_dB;
}
...

----------------------------------

//Programm1 - statische Einbindung
__declspec(dllimport) double Addieren(double , double);
...
dErgebnis = Addieren(dA, dB);
...

----------------------------------

//Programm2 - dynamische Einbindung
...
typedef double TAdd (double, double);
...
TAdd   *   Funktion;
HINSTANCE hinstMathe = LoadLibrary(_T("MatheDLL.dll"));
...
Funktion = (TAdd *) GetProcAddress(hinstMathe, "Addieren");
if(Funktion)
{
   dErgebnis = (*Funktion) (dA, dB);
   printf("A + B: %.4lf \n", dErgebnis);
}
...
Die statische Version klappt auch einwandfrei, bei der dynamischen dagegen liefert mir GetProcAddress(hinstMathe, "Addieren") NULL zurück. GetLastError() liefert "127 - Die angegebene Prozedur wurde nicht gefunden". Die DLL wurde aber korrekt geladen (jedenfalls ist der hinstMathe belegt).

Habt ihr eventuell eine Idee woran das liegen könnte?

Entwicklungsumgebung: Visual-C++ 2208
Jonas
  Mit Zitat antworten Zitat