dum*_*uch 4 delphi delphi-2007
Delphi 2007中的以下代码给出了警告
W1047不安全代码'@ operator'
在将@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, 0, SizeOf(ThreadNameInfo) div SizeOf(LongWord),
@ThreadNameInfo); // --> Here
except
// ignore
end;
end;
Run Code Online (Sandbox Code Playgroud)
除了禁用"不安全代码"的编译器警告之外,还有其他方法可以摆脱此警告吗?这个警告是否更有意义,因为Delphi不再支持dotNET?
我试图明确地将参数类型转换为PDWord(最后一个参数的声明类型),它没有改变任何东西.