无效的类型转换:转换记录TObject的64位平台 [英] Invalid typecast: convert record to tobject on 64-bit platform
本文介绍了无效的类型转换:转换记录TObject的64位平台的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
它适用于32位platform.but不是64位 这里是exzample
it works on 32-bit platform.but not 64-bit here is the exzample
TVerbInfo = packed record
Verb: Smallint;
Flags: Word;
end;
var
VerbInfo: TVerbInfo;
strList : TStringList;
verb : Smallint;
flags : Word;
begin
strList := TStringList.create();
.....
verbInfo.verb := verb;
verbInfo.flags := flags;
strList.addObject('verb1',TObject(VerbInfo)); //invalid typecast happened here
end;
谁能帮助我?非常感谢你。
can anyone help me? thank you very much
推荐答案
您可以尝试这样的:
function MakeVerbInfoObject(const AVerbInfo: TVerbInfo): TObject;
begin
Result := nil;
Move(AVerbInfo, Result, SizeOf(AVerbInfo));
end;
strList.addObject('verb1', MakeVerbInfoObject(VerbInfo));
这篇关于无效的类型转换:转换记录TObject的64位平台的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文