Hallo,
ich habe ein Problem. Ich muss in meinem D6 Programm Funktionen aus einer DLL benutzen, die in C++ geschrieben wurde. Ich habe auch die Header Datei, habe schon mit dem HeadConv probiert die zu konvertieren aber es klappt nicht.
Ich weiß, hier sind kluge Leute, bitte hilf mir. Unten die Header Datei.
////////////////////////////////////////////
#include "tcpcli.h"
#ifdef TCPIPCLIENTDLL_EXPORTS
#define TCPIPCLIENT_API _declspec( dllexport )
#else
#define TCPIPCLIENT_API _declspec( dllimport )
#endif
#ifdef __cplusplus
extern "C" {
#endif
TCPIPCLIENT_API void __stdcall Initialize1( void (*ReplyOrEvent)(int Rep, const string& stName, const string& stVal, void* pOwner), void* pOwner );
TCPIPCLIENT_API bool __stdcall Connect1( string stIPAddress = HOST, int Port = PORTNUMBER);
TCPIPCLIENT_API bool __stdcall Connected1( );
TCPIPCLIENT_API void __stdcall Disconnect1( bool bWithUnAdvise = false );
TCPIPCLIENT_API bool __stdcall Request1( string& stItemName, e_ItemAttributes eIAtt = IAtt_None, string& stValue = stDummy );
TCPIPCLIENT_API bool __stdcall Poke1( string& stItemName, string& stValue,
e_ItemAttributes eIAtt = IAtt_None );
TCPIPCLIENT_API bool __stdcall AdviseStart1( const string& stItemName, e_ItemAttributes eIAtt = IAtt_None, string& stValue = stDummy );
TCPIPCLIENT_API bool __stdcall AdviseStop1( const string& stItemName, e_ItemAttributes eIAtt = IAtt_None );
TCPIPCLIENT_API void __stdcall UnAdviseAll1( );
typedef void (__stdcall* INITIALIZE1)( void (*ReplyOrEvent)(int Rep, const string& stName, const string& stVal, void* pOwner), void* pOwner );
typedef bool (__stdcall* CONNECT1)( string stIPAddress, int nPort );
typedef bool (__stdcall* CONNECTED1)( );
typedef void (__stdcall* DISCONNECT1)( bool bWithUnAdvise );
typedef bool (__stdcall* REQUEST1)( string& stItemName, e_ItemAttributes eIAtt, string& stValue );
typedef bool (__stdcall* POKE1)( string& stItemName, string& stValue, e_ItemAttributes eIAtt );
typedef bool (__stdcall* ADVISESTART1)( const string& stItemName, e_ItemAttributes eIAtt, string& stValue );
typedef bool (__stdcall* ADVISESTOP1)( const string& stItemName, e_ItemAttributes eIAtt );
typedef void (__stdcall* UNADVISEALL1)( );
#ifdef __cplusplus
}
#endif
////////////////////////////////////////////
schöne Grüße an alle
Christoph Fröhlich
ich habe ein Problem. Ich muss in meinem D6 Programm Funktionen aus einer DLL benutzen, die in C++ geschrieben wurde. Ich habe auch die Header Datei, habe schon mit dem HeadConv probiert die zu konvertieren aber es klappt nicht.
Ich weiß, hier sind kluge Leute, bitte hilf mir. Unten die Header Datei.
////////////////////////////////////////////
#include "tcpcli.h"
#ifdef TCPIPCLIENTDLL_EXPORTS
#define TCPIPCLIENT_API _declspec( dllexport )
#else
#define TCPIPCLIENT_API _declspec( dllimport )
#endif
#ifdef __cplusplus
extern "C" {
#endif
TCPIPCLIENT_API void __stdcall Initialize1( void (*ReplyOrEvent)(int Rep, const string& stName, const string& stVal, void* pOwner), void* pOwner );
TCPIPCLIENT_API bool __stdcall Connect1( string stIPAddress = HOST, int Port = PORTNUMBER);
TCPIPCLIENT_API bool __stdcall Connected1( );
TCPIPCLIENT_API void __stdcall Disconnect1( bool bWithUnAdvise = false );
TCPIPCLIENT_API bool __stdcall Request1( string& stItemName, e_ItemAttributes eIAtt = IAtt_None, string& stValue = stDummy );
TCPIPCLIENT_API bool __stdcall Poke1( string& stItemName, string& stValue,
e_ItemAttributes eIAtt = IAtt_None );
TCPIPCLIENT_API bool __stdcall AdviseStart1( const string& stItemName, e_ItemAttributes eIAtt = IAtt_None, string& stValue = stDummy );
TCPIPCLIENT_API bool __stdcall AdviseStop1( const string& stItemName, e_ItemAttributes eIAtt = IAtt_None );
TCPIPCLIENT_API void __stdcall UnAdviseAll1( );
typedef void (__stdcall* INITIALIZE1)( void (*ReplyOrEvent)(int Rep, const string& stName, const string& stVal, void* pOwner), void* pOwner );
typedef bool (__stdcall* CONNECT1)( string stIPAddress, int nPort );
typedef bool (__stdcall* CONNECTED1)( );
typedef void (__stdcall* DISCONNECT1)( bool bWithUnAdvise );
typedef bool (__stdcall* REQUEST1)( string& stItemName, e_ItemAttributes eIAtt, string& stValue );
typedef bool (__stdcall* POKE1)( string& stItemName, string& stValue, e_ItemAttributes eIAtt );
typedef bool (__stdcall* ADVISESTART1)( const string& stItemName, e_ItemAttributes eIAtt, string& stValue );
typedef bool (__stdcall* ADVISESTOP1)( const string& stItemName, e_ItemAttributes eIAtt );
typedef void (__stdcall* UNADVISEALL1)( );
#ifdef __cplusplus
}
#endif
////////////////////////////////////////////
schöne Grüße an alle
Christoph Fröhlich
Comment