if Application.MessageBox(pChar('您确定要提交该条采购计划吗?'+Char(13)+'计划编号为['+MyModelID+']'),'长庆第三采油厂',
MB_OKCANCEL + MB_DEFBUTTON1) <> IDOK then
Exit;为什么会出现如下的
警告信息:unsafe type "pchar"为什么它提示PCHAR是不安全的类型呢?
MB_OKCANCEL + MB_DEFBUTTON1) <> IDOK then
Exit;为什么会出现如下的
警告信息:unsafe type "pchar"为什么它提示PCHAR是不安全的类型呢?
是為了與以後的 .net 程序兼容, 理論上, 你的 .net 的程序中不可以直接使用指針, 所以, 警告你, 但對現在程序的編繹沒有一點影響!!!
不选择就行啦。
类似的两个工程(其中的一个工程是复制过去后修改了一下),都使用了API函数WinExec,参数要用PChar做转换,一个工程Build时会有这个警告,另一个工程Build时却没有这个警告,呵呵,真是搞不懂,不理它,照样正常使用.
至于为什么有的人遇到,有的人没有遇到,那是因为各人的编译选项不同。
在Project菜单下选Options
“Compiler Messages”,最下面三个选项就是了...........
如果程序不移植到点NET,那么把这三个选项的勾取了(默认也是取了的)。
至于为什么要那样进行转换请自己尝试去掉转换试试看,
其实Application.MessageBox函数的第一个参数的类型是PCHAR,如果直接传入一个字符串的话编译器应该进行隐式转换了,否则则报错