Delphi程序使用VC做的服务器组件数据发生的奇怪问题!请高手帮忙,分不够可以再给!!!
我用VC做了一个简单的EXE形式的服务器组件,组件接口提供方法为
GetData([in,out]MYSTRUCT *pMyDataIn_Out);
数据结构类型为:
typedef struct tagMYSTRUCT{
unsigned char v1;
float v2;
double v3;
}MYSTRUCT
我在服务器组件中只修改了结构pMyDataIn_Out数据成员的值。
问题:(1)当用Delphi程序做客户程序,调用该组件的方法,返回的参数不正确。比如本来我需要返回的v3= 1.1,但程序可能读出的数据为-12344E-304这样的数据。
(2)我原来做过这样的程序,在WIN2000平台上,使用Delphi6和VC6,开发的程序没有问题。而我现在的平台是WINXP,请高手指点是否因为平台和开发环境的问题?怎么解决??
另外:如果我的输入输出数据结构定义成:
typedef struct tagMYSTRUCT{
unsigned char v1;
unsigned char v2;
unsigned char v3;
}MYSTRUCT
或
typedef struct tagMYSTRUCT{
double v1;
double v2;
double v3;
}MYSTRUCT时(即结构里的数据元素同种类型),程序调用返回的结果都没问题!!!!
那为兄弟请帮忙解决一下,将不胜感激!!!