R
risingsoft
Unregistered / Unconfirmed
GUEST, unregistred user!
1、MSCOMM的事件定义如下:
comEvSend = $00000001;
comEvReceive = $00000002;
comEvCTS = $00000003;
comEvDSR = $00000004;
comEvCD = $00000005;
comEvRing = $00000006;
comEvEOF = $00000007;
可以通过MsComm.CommEvent值来判断当前的信号,可是我要知道信号的高低变化,比如:
CTS什么时候变高(1)什么时候变低(0)
DSR什么时候变高(1)什么时候变低(0)
Ring什么时候变高(1)什么时候变低(0)
RX什么时候变高(1)什么时候变低(0)
TX什么时候变高(1)什么时候变低(0)
2、在C++里别人定义了一个结构:
typedef struct _TTestp
{
char pid[10]; //病例号
char pname[20]; //病人姓名
char sampleNo[10]; //样本号
char sampleStyle[10];//样本类型
char items[1]; //项目,第一字节为项目个数后面紧跟着逗号分割得项目名(通道号)
//注此域还用来返回错误成功信息,因此要保证最少64字节得长度
}TTestp;
其中items项,在C++里虽然定义为1个字符,但是他告诉我这个结构至少长度够128,因为当我传递此结构到他的DLL,调用他的函数时,他将使用以items开始的后续字节写返回值,例如:
BOOL cInst:: SendTestInfo(TTestp * testParam)
{
sprintf(testParam->items,"错误: 不支持双向通讯!"
return FALSE;
}
那么对应地,在Delphi里我该如何定义此结构?我的定义如下,有问题吗
//设置检验项目
TTestp=record
pid: array[0..9] of char; //病例号
pname:array[0..19] of char; //病人姓名
sampleNo:array[0..9] of char;//样本号
sampleStyle:array[0..9] of char;//样本类型
items:array[0..0] of char; //项目,第一字节为项目个数后面紧跟着逗号分割得项目名(通道号)
//注此域还用来返回错误成功信息,因此要保证最少128字节得长度
end;
PTestp=^TTestp;
另一种方式是定义成1维数组
comEvSend = $00000001;
comEvReceive = $00000002;
comEvCTS = $00000003;
comEvDSR = $00000004;
comEvCD = $00000005;
comEvRing = $00000006;
comEvEOF = $00000007;
可以通过MsComm.CommEvent值来判断当前的信号,可是我要知道信号的高低变化,比如:
CTS什么时候变高(1)什么时候变低(0)
DSR什么时候变高(1)什么时候变低(0)
Ring什么时候变高(1)什么时候变低(0)
RX什么时候变高(1)什么时候变低(0)
TX什么时候变高(1)什么时候变低(0)
2、在C++里别人定义了一个结构:
typedef struct _TTestp
{
char pid[10]; //病例号
char pname[20]; //病人姓名
char sampleNo[10]; //样本号
char sampleStyle[10];//样本类型
char items[1]; //项目,第一字节为项目个数后面紧跟着逗号分割得项目名(通道号)
//注此域还用来返回错误成功信息,因此要保证最少64字节得长度
}TTestp;
其中items项,在C++里虽然定义为1个字符,但是他告诉我这个结构至少长度够128,因为当我传递此结构到他的DLL,调用他的函数时,他将使用以items开始的后续字节写返回值,例如:
BOOL cInst:: SendTestInfo(TTestp * testParam)
{
sprintf(testParam->items,"错误: 不支持双向通讯!"
return FALSE;
}
那么对应地,在Delphi里我该如何定义此结构?我的定义如下,有问题吗
//设置检验项目
TTestp=record
pid: array[0..9] of char; //病例号
pname:array[0..19] of char; //病人姓名
sampleNo:array[0..9] of char;//样本号
sampleStyle:array[0..9] of char;//样本类型
items:array[0..0] of char; //项目,第一字节为项目个数后面紧跟着逗号分割得项目名(通道号)
//注此域还用来返回错误成功信息,因此要保证最少128字节得长度
end;
PTestp=^TTestp;
另一种方式是定义成1维数组