//++++++++++++++++++++++++++++++
// FastDDE-Header
// S.Jacobi (c)1997
//++++++++++++++++++++++++++++++
#define tdtTable 0x0010
#define tdtFloat 0x0001
#define tdtString 0x0002
#define tdtBool 0x0003
#define tdtError 0x0004
#define tdtBlank 0x0005
#define tdtType 0x0080
#define tdtFormat 0x0081
#define maxData 8000 //Groesse in bytes eines simple_datablocks
#define TIMEOUT 3000 //default timeout
#define CVT_DIGITS 10 //Anzahl Ziffern bei Konvertieren mit _ecvt()
/////////////////////////////DDEPoke
struct tag_FastDDEMemValues
{
int rows;
int columns;
int offset; //Offset durch tdtTable und n mal tdtFloat
int quot; //Anzahl der maxDataBloecke
int rem; //Rest
double huge* hPr; //Zeiger auf Matrix-Realteil
BYTE far* hDataBlock; //Zeiger auf DDE-Datenobjekt (von DdeAccessData() geliefert)
};
typedef struct tag_FastDDEMemValues FastDDEMemValues;
struct tag_PokeFuncParam
{
DWORD idInst;
DWORD hConv;
UINT cbFormat;
DWORD timeout;
HSZ hszItem;
Matrix* Data_Matrix;
};
typedef struct tag_PokeFuncParam PokeFuncParam;
/////////////////////////////DDERequest
struct tag_ReqFuncParam
{
DWORD idInst;
DWORD hConv;
UINT cbFormat;
DWORD timeout;
HSZ hszItem;
Matrix** DestMatrix;
};
typedef struct tag_ReqFuncParam ReqFuncParam;
struct tag_TableHeader
{
WORD Table;
WORD cbTable;
WORD rows;
WORD columns;
};
typedef struct tag_TableHeader TableHeader;
struct tag_FloatHeader
{
WORD Float;
WORD cbFloat;
};
typedef struct tag_FloatHeader FloatHeader;
// Prototypes for DDEPoke
void FastDDEMem( FastDDEMemValues* );
BOOL CFTextPoke( PokeFuncParam* );
BOOL FastDDEPoke( PokeFuncParam* );
int StringConvert( char*, double );
// Prototypes for DDEAdvise and DDERequest in ddelib.c
#ifdef __cplusplus
extern "C"
{
#endif
void GetMatrixSize( char huge*, DWORD*, UINT*, UINT* );
BOOL Str2Double( double huge*, DWORD, char huge*, DWORD );
void Transpose( double huge*, double huge*, UINT, UINT );
void HandleDdeError( UINT );
BOOL FastDDEReq( HDDEDATA, Matrix** );
BOOL CFTextStringReq( HDDEDATA, Matrix** );
BOOL CFTextReq( HDDEDATA, Matrix** );
#ifdef __cplusplus
}
#endif
// Prototypes for DDERequest
//void GetMatrixSize( char huge*, int*, int* );
//BOOL Str2Double( double huge*, char huge* );
// Prototypes for DDEAdvise
BOOL AdvFastDDEReq( HDDEDATA, char* );
BOOL AdvCFTextReq( HDDEDATA, char* );
BOOL AdvCFTextStringReq( HDDEDATA, char* );
//void GetMatrixSize( char huge*, int*, int* );
//BOOL Str2Double( double huge*, char huge* );
// Prototypes for DDEUnadvise
BOOL CallDDEUnadvise( HCONV, HSZ, WORD );
Detected encoding: ASCII (7 bit) | 2
|