Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » DLL stdcall stress

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.12.2005, 13:29 Uhr
~Wauschi
Gast


Hallo Kollegen,

ich versuche eine .dll (mit Borland 6 erstellt) in .NET und Borland zu verwenden. Zu diesem Zweck habe ich eine .h Datei erstellt welche unter beiden Umgebungen das dynamische Einbinden der DLL bewerkstelligt.

Problem:
Beim Borland Compiler muss ich vor jeder Funktion __stdcall schreiben, sonst "Access violation....0x00..."
Bei .NET darf ich nicht __stdcall schreiben, sonst "Error C2059, syntax error...usw..."

Wie muss das DLL Interface exportiert werden damit ich es mit einem Header in versch. Umgebungen einbinden kann.
Oder, wie muss die DLL Importiert werden damit ich ein Header file für versch. Umgebungen nutzen kann?

Schnittstellen EXPORT der DLL:

C++:
#define EXPORT extern "C" __declspec(dllexport)
#define VERSION 1.0

EXPORT double _stdcall GetDllVersion(void){return VERSION;}



IMPORT:

C++:
#define IMPORT typedef __declspec(dllimport)

IMPORT double (*GET_VERSION)();
GET_VERSION GetDllVersion;

HINSTANCE hDll;
  hDll = LoadLibrary("Encoder.dll"); //
  if(hDll == NULL){
    ShowMessage("Unable to load Encoder.dll");
  }else{
    GetDllVersion = (GET_VERSION)GetProcAddress(hDll,"GetDllVersion");
  }



DANKE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: