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)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |