delphi – 如何在此RaiseExeption调用中删除“W1047 Unsafe code
发布时间:2020-12-15 09:21:41 所属栏目:大数据 来源:网络整理
导读:Delphi 2007中的以下代码给出了警告 W1047 Unsafe code ‘@ operator’ 在将@ThreadNameInfo传递给RaiseException的行中: procedure SetThreadName(const _Name: AnsiString);var ThreadNameInfo: TThreadNameInfo;begin ThreadNameInfo.FType := $1000; Th
Delphi 2007中的以下代码给出了警告
在将@ThreadNameInfo传递给RaiseException的行中: procedure SetThreadName(const _Name: AnsiString); var ThreadNameInfo: TThreadNameInfo; begin ThreadNameInfo.FType := $1000; ThreadNameInfo.FName := PAnsiChar(_Name); ThreadNameInfo.FThreadID := $FFFFFFFF; ThreadNameInfo.FFlags := 0; try RaiseException($406D1388,SizeOf(ThreadNameInfo) div SizeOf(LongWord),@ThreadNameInfo); // --> Here except // ignore end; end; 除了禁用“不安全代码”的编译器警告之外,还有其他方法可以摆脱这种警告吗?这个警告是否更有意义,因为Delphi不再支持dotNET? 我试图明确地将参数类型转换为PDWord(最后一个参数的声明类型),它没有改变任何东西. 解决方法
此警告旨在与.net编译器编译的代码一起使用.如果您没有使用Delphi .net编译器,您可以而且应该禁止该特定警告.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |