LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

I am having trouble linking the ICQ Development kit with my CVI application. They give you a .dll and a .lib and some include files. In the documentation they don't mention any specific requirements....

I am getting an error " invalid struct field definition" at the BYTE m_bEnabled line of the

typedef struct {
BYTE m_bEnabled;
BYTE m_bSocksEnabled;
short m_sSocksVersion;
char m_szSocksHost[512];
int m_iSocksPort;
BYTE m_bSocksAuthenticationMethod;
} BSICQAPI_FireWallData;

Here is also the major include file. It is not clear that I will be able to call these functions even if I manage to compile and link.

#ifndef __ICQAPINOTIFICATIONS_H_
#define __ICQAPINOTIFICATIONS_H_

#include
#include
#include
CQAPIInterface.h>


#define ICQAPINOTIFY_ONLINELIST_CHANGE 0
#define ICQAPINOTIFY_ONLINE_FULLUSERDATA_CHANGE 1
#define ICQAPINOTIFY_APPBAR_STATE_CHANGE 2
#define ICQAPINOTIFY_ONLINE_PLACEMENT_CHANGE 3
#define ICQAPINOTIFY_OWNER_CHANGE 4
#define ICQAPINOTIFY_OWNER_FULLUSERDATA_CHANGE 5
#define ICQAPINOTIFY_ONLINELIST_HANDLE_CHANGE 6

#define ICQAPINOTIFY_FILE_RECEIVED 8

#define ICQAPINOTIFY_LAST 80


#define ICQAPINOTIFY_ONLINELISTCHANGE_ONOFF 1
#define ICQAPINOTIFY_ONLINELISTCHANGE_FLOAT 2
#define ICQAPINOTIFY_ONLINELISTCHANGE_POS 3


typedef void (WINAPI *BICQAPINotify_OnlineListChange)(int iType);

typedef void (WINAPI *BICQAPINotify_OnlineFullUserDataChange)(int iUIN);

typedef void (WINAPI *BICQAPINotify_AppBarStateChange)(int iDockingState);

typedef void (WINAPI *BICQAPINotify_OnlinePlacementChange)(void);

typedef void (WINAPI *BICQAPINotify_OwnerChange)(int iUIN);

typedef void (WINAPI *BICQAPINotify_OwnerFullDataChan
ge)(void);

typedef void (WINAPI *BICQAPINotify_OnlineListHandleChange)(HWND hWindow);

typedef void (WINAPI *BICQAPINotify_FileReceived)(char *pszFileNames);


void WINAPI ICQAPIUtil_SetUserNotificationFunc(UINT uNotificationCode, void *pUserFunc);


#endif // __ICQAPINOTIFICATIONS_H_
0 Kudos
Message 1 of 3
(2,891 Views)
BYTE .....
CVI does not know BYTE.
I assume the they have defined BYTE as an 'unsigned char'.
Search through the '.h' files of the ICQ Development kit to see where BYTE is defined just to make sure.
I then make sure to include that header in your code.

Or you could try defining it yourself in your own code

#define BYTE (unsigned char)
0 Kudos
Message 2 of 3
(2,891 Views)
Hello
Because there is also a "WINAPI" in your file, I suppose that you need a
#include
at the beging of your code.

Stephan
0 Kudos
Message 3 of 3
(2,891 Views)