左
左轻侯
Unregistered / Unconfirmed
GUEST, unregistred user!
D4和D5的兼容问题,急!!
我的程序中有几个Record结构:
TVersion=record
High:integer;
Low:integer;
end;
TCountInfo=record
Count:integer;
Time:Tdatetime;
Flow:single;
PhoneFee:currency;
NetFee:currency;
TotalFee:currency;
end;
TNIDFileHeader=record
ID:string[5];
Ver:Tversion;
Count:integer;
LastDay:Tdate;
Today:TCountInfo;
ToMouth:TcountInfo;
Total:TcountInfo;
end;
var
header:TNIDFIleHeader;
然后用TFileStream读写文件:
NIFStream.Write(header,sizeof(TNIDFileHeader));
NIFStream.Read(header,sizeof(TNIDFileHeader));
运行成功。
原程序未做任何改变,在D5下编译以后,读取数据出错,经检查,
在D5下生成的文件居然比D4下要大,也就是同样的代码,得出来
的TNIDFileHeader的长度居然不一样!D4下是148,D5下是176。
由于Win2000下只能跑D5,我必须升到D5,又要和以前的数据文件
兼容。但这个问题根本不知道从哪里下手?如有大虾能够解决,
我另外再给分,两三百分的不在话下。谢了谢了!
我的程序中有几个Record结构:
TVersion=record
High:integer;
Low:integer;
end;
TCountInfo=record
Count:integer;
Time:Tdatetime;
Flow:single;
PhoneFee:currency;
NetFee:currency;
TotalFee:currency;
end;
TNIDFileHeader=record
ID:string[5];
Ver:Tversion;
Count:integer;
LastDay:Tdate;
Today:TCountInfo;
ToMouth:TcountInfo;
Total:TcountInfo;
end;
var
header:TNIDFIleHeader;
然后用TFileStream读写文件:
NIFStream.Write(header,sizeof(TNIDFileHeader));
NIFStream.Read(header,sizeof(TNIDFileHeader));
运行成功。
原程序未做任何改变,在D5下编译以后,读取数据出错,经检查,
在D5下生成的文件居然比D4下要大,也就是同样的代码,得出来
的TNIDFileHeader的长度居然不一样!D4下是148,D5下是176。
由于Win2000下只能跑D5,我必须升到D5,又要和以前的数据文件
兼容。但这个问题根本不知道从哪里下手?如有大虾能够解决,
我另外再给分,两三百分的不在话下。谢了谢了!