为什么我使用COPYFILE函数在WIN98下无法使用? (50分)

  • 主题发起人 主题发起人 OHT
  • 开始时间 开始时间
O

OHT

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么我使用COPYFILE函数在WIN98下无法使用?在WIN2000和WIN XP下正常。<br>代码如下:<br>s2:='c:/temp/data/'<br>s:='c:/temp/';<br>copyfile(pchar(s2+'项目库.db'),pchar(s+'项目库.db'),false)<br>总是提示错误代码32
 
你先设置变量,看你的两个pchar中的字符串到底是什么?对吗?我觉得<br>目录文件名称也许不对吧!/这个符号很怪的
 
请在WIN98上试一下,如成功,看一下SDK中COPYFILE的帮助<br>&nbsp;lFile:=TFileStream.Create(s+'项目库.db',fmCreate);<br>&nbsp;lFile.Free;<br>&nbsp;copyfile(pchar(s2+'项目库.db'),pchar(s+'项目库.db'),TRUE)<br>
 
先把 s2+'项目库.db' 这个赋给一个变量再用copyfile试试
 
to 原野飞侠:方法已经试了,没成功.<br>to akaiwei:很奇怪的就是,我在WIN2000和XP下完全一样的代码完成可以使用,<br>在98下就是失败、很奇怪
 
//首先必须声明变量<br>Var<br>&nbsp; &nbsp;s,s2:string;<br>begin<br>&nbsp; // 再次必须分配内存<br>&nbsp; setlength(s,119);<br>&nbsp; setlength(s2,119);<br><br>&nbsp; s2:='c:/temp/data/项目库.db'<br>&nbsp; s:='c:/temp/项目库.db';<br><br>&nbsp; //加一个父单元名字Windows.<br>&nbsp; windows.copyfile(pchar(s2),pchar(s),false);<br>end;<br>即可!!!<br><br>
 
to wql:<br>为何在WIN2000下正常,在98下不行?
 
我想可能是Unicode的问题,如果不用PChar或String,用PAnsiChar或AnsiString应该不会有这样的问题,<br>另外你用的delphi版本是delphi5之后的版本吧?
 
以下代码测试通过:<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; s, s2: string;<br>begin<br>&nbsp; s2:='c:/temp/data/';<br>&nbsp; s:='c:/temp/';<br>&nbsp; copyfile(pchar(s2+'项目库.db'),pchar(s+'项目库.db'),false)<br>end;<br>
 
可以呀!
 
后退
顶部