不安全的类型“Unsaft type 'Pchar'”(50分)

  • 主题发起人 主题发起人 jianlei
  • 开始时间 开始时间
J

jianlei

Unregistered / Unconfirmed
GUEST, unregistred user!
语句:
MessageBox(handle,Pchar('你确定要删除行号'+DbGrid1.Fields[0].AsString+'工序吗?'),'提示:',MB_YESNO+MB_ICONQuestion+MB_DEFButton2)
在D6中编译时没有问题,在D7中会出现[blue]Unsaft type 'Pchar'[/blue]的警告,应该怎么办?
 
别理他,d7太敏感了!
 
我也遇到类似的问题,原来在D6中用的Pointer类型,在D7中编译都出现警告,但不影响
使用。建议你看看project-options-compiler messages里的设置
 
把里面的Unsaft type选项去掉
 
var
P1,P2:array [0..255] of Char;
begin
P1:='djsfksgj';
P2:='jd;fdfld';
MessageBox(Handle,@P1,@P2,MB_YESNO+MB_ICONQuestion+MB_DEFButton2);
end;
这样应该没问题了吧
 
这是为Delphi For .net作准备,因为.net不支持PChar或者无类型指针,所以这里给出警告,不过你大可不去管它.
如果你不是在编.net程序的话.
 
这就是所谓的Delphi7对.net的不完全支持!
 
这也是为了程序能够更安全的运行,
指针操作毕竟有一定的危险性,
Borland建议大家以后少用指针,
如果要用,又不想用的地方提示,
可以在那段代码上 加上编译指令禁止提示
 
有没有更好的办法呢?
写我的那一条语句!
谢。
 
你可以不用理它!
 
这类的东东最好少用,为.NET做准备!!!

我现在写了个函数,以后要改也不会每个的都改,只要改函数就行了!
 
多人接受答案了。
 
后退
顶部