#if defined (DLLTYPE_3x) #define DllExport1 #define DllExport2 FAR PASCAL _export #define DllCall #elif defined (DLLTYPE_NT) #define DllExport1 __declspec (dllexport) #define DllExport2 #define DllCall __stdcall #endif typedef struct s_array{ int nInt; char FAR *szString; char FAR *szString2; } SARRAY, FAR *S_PTR; typedef struct s_a{ int nInt; char szString[41]; char szString2[41]; } S_NT; extern "C" { DllExport1 int DllExport2 DllCall SetInt(int nIn); DllExport1 int DllExport2 DllCall GetInt(); DllExport1 int DllExport2 DllCall SetString(char FAR *p); DllExport1 int DllExport2 DllCall GetString(char FAR *p); DllExport1 int DllExport2 DllCall SetFloat(float nIn); DllExport1 int DllExport2 DllCall GetFloat(float FAR *p); DllExport1 int DllExport2 DllCall GetDouble(double FAR *p); DllExport1 int DllExport2 DllCall SetDouble(double p); DllExport1 int DllExport2 DllCall SetLong(long nIn); DllExport1 long DllExport2 DllCall GetLong(); DllExport1 int DllExport2 DllCall GetStructure(S_PTR p); DllExport1 int DllExport2 DllCall SetStructure(S_PTR p); DllExport1 int DllExport2 DllCall GetStructNT(S_NT FAR *x); DllExport1 int DllExport2 DllCall SetStructNT(S_NT FAR *x); DllExport1 HWND DllExport2 DllCall FindPB(char FAR *pClass, char FAR * pCaption, char FAR *pString); DllExport1 HWND DllExport2 DllCall TriggerPB(char FAR *pClass, char FAR * pCaption, char FAR *pString); DllExport1 HWND DllExport2 DllCall SignalPB(BOOL); DllExport1 int DllExport2 DllCall Test(char FAR *p); //__declspec(dllexport) int _stdcall Test(char FAR *p); //int FAR PASCAL _export Test(); }