delphi5转到delphi7时遇到的一个关于字符串的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 nywjx
  • 开始时间 开始时间
N

nywjx

Unregistered / Unconfirmed
GUEST, unregistred user!

在delphi5中,有这样一条语句:
var temp:string;
Application.MessageBox(PChar(temp),'错误',MB_OK+MB_ICONERROR);
编译是正常的,可是在delphi7中该语句就提示warnning,Unsafe type 'PChar'
这是怎么回事呢?
 

在delphi5中,有这样一条语句:
var temp:string;
Application.MessageBox(PChar(temp),'错误',MB_OK+MB_ICONERROR);
编译是正常的,可是在delphi7中该语句就提示warnning,Unsafe type 'PChar'
这是怎么回事呢?
 
在"Project"/"Option"/"Compiler Message"中去掉最后三项就不会有提示了。
 
不要管它.只是提示你指针类型是不安全的.
 
Delphi7认为PChar是不安全的,所以会有这个提示。如果你想用尽管用好了,只是个Warning,让它去吧 ^_^ [:D]
 
有根本解决办法吗?我可不想编译的时候一下子出来几百个warnning
 
它确实不安全
Application.MessageBox(temp,'错误',MB_OK+MB_ICONERROR);
不就得了?
 
呵呵,你可以试试:
temp:='this is test';
Application.MessageBox(temp,'错误',MB_OK+MB_ICONERROR);
这样是否可以通过编译
 
哈哈,warning怕什麼,又不是error,別管它。我機器上不會出現warning的。

 
hotboys,warning得怕,比如:
function TrueOrFalse(param:integer):boolean;
begin
if param=1 then
result:=true;
end;
会产生一个warning

这种函数不同环境下会返回不确定值,无法意料
 
http://delphibbs.com/delphibbs/dispq.asp?lid=1389226
这里也是一个关于编译警告的例子,我的问题,Creation_zy回答
从那时起,我注意了编译警告
 
原則上說,要去掉所有的warning以及hint
 
来自:xianguo, 时间:2005-2-21 11:38:38, ID:2992893
在"Project"/"Option"/"Compiler Message"中去掉最后三项就不会有提示了。

{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
后退
顶部