delphi – 无效的类型转换:在64位平台上将记录转换为tobject
发布时间:2020-12-15 09:32:29 所属栏目:大数据 来源:网络整理
导读:它适用于32位平台,但不适用于64位平台 这是exzample TVerbInfo = packed record Verb: Smallint; Flags: Word; end;var VerbInfo: TVerbInfo; strList : TStringList; verb : Smallint; flags : Word;begin strList := TStringList.create(); ..... verbInfo
|
它适用于32位平台,但不适用于64位平台
这是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;
谁能帮我?非常感谢你 解决方法
你可以尝试这样的事情:
function MakeVerbInfoObject(const AVerbInfo: TVerbInfo): TObject;
begin
Result := nil;
Move(AVerbInfo,Result,SizeOf(AVerbInfo));
end;
strList.addObject('verb1',MakeVerbInfoObject(VerbInfo));
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
