Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi C++ Dll mit exportierten Klassen von Delphi aus verwenden? (https://www.delphipraxis.net/143940-c-dll-mit-exportierten-klassen-von-delphi-aus-verwenden.html)

ULIK 26. Nov 2009 12:59


C++ Dll mit exportierten Klassen von Delphi aus verwenden?
 
Hi,

ich habe von einem Hardwarehersteller ein SDK bekommen, das aus einer C++ DLL, einer zugehörigen .lib Datei und einem Headerfile besteht. Das Headerfile enthält allerdings hauptsächlich Klassendefinitionen:

Code:
// defines
#ifdef _WIN32
#ifdef SBSDK_EXPORTS
#define SBSDK_API __declspec(dllexport)
#elif SBSDK_AS_LIBRARY
#define SBSDK_API
#else
#define SBSDK_API __declspec(dllimport)
#endif
#else // #ifdef _WIN32
#define SBSDK_API
#endif // #ifdef _WIN32

...

class CSBSDK2EventHandler
{
public:
   SBSDK_API virtual ~CSBSDK2EventHandler() {};

   // Parameter names are commented out to stop unused parameter warnings on Mac.
   // When you implement one of these uncomment the parameter names in your code.

   // Projected (X,Y) events.
   SBSDK_API virtual void OnXYDown(int /*x*/, int /*y*/, int /*z*/, int /*iPointerID*/){};
...
};
Kann man dieses Headerfile irgendwie nach Delphi übersetzen, so daß die Dll von Delphi aus verwendet werden kann? Gibt es dazu irgendwelche Tutorials/Links? (Wie man normale Funktionen/Prozeduren importiert, weis ich. Ich scheiter nur gerade an den Klassen)


vielen Dank,
Uli

Bernhard Geyer 26. Nov 2009 13:01

Re: C++ Dll mit exportierten Klassen von Delphi aus verwende
 
AFAIK geht das nicht. Du muss in C++ dir noch einen Wrapper schreiben der dann nur noch C-Kompatible Funktionen verwendet. C++-Klassen können nicht direkt verwendet werden!

ULIK 26. Nov 2009 13:34

Re: C++ Dll mit exportierten Klassen von Delphi aus verwende
 
Hab's befürchtet :(

Aber Danke für die Antwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 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