这段代码为什么出错呢?(20分)

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现这样一个功能:运行程序后检查看程序是否在C:/windows下,如果不在就将自己复制到C:/windows下再重新运行,可是下面这段代码却有一个奇怪的问题,点击Button1后程序跳出的第一个对话框显示Fail,第二个对话框显示两个不同的路径,可是程序自动重新运行后还是显示Fail,和两个不同的路径,而此时查看C:/windows发现已经有111.exe存在,而且如果手工运行111.exe第一个对话框还是会显示Fail,但第二个对话框却显示的是两个相同的路径。而且对话框会不断地跳出来,除非强制结束进程,请问这是为什么?应该如何解决?<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> &nbsp;windir:PChar;<br>begin<br> &nbsp;GetMem(windir,15);<br> &nbsp;GetWindowsDirectory(windir,15);<br> &nbsp;if PChar(GetCurrentDir)&lt;&gt;windir then<br> &nbsp;begin<br> &nbsp; &nbsp;MessageBox(0,'Fail','111',0);<br> &nbsp; &nbsp;ShowMessage(windir+' '+getcurrentdir);<br> &nbsp; &nbsp;CopyFile(PChar(ParamStr(0)),PChar(windir+'/111.exe'),False);<br> &nbsp; &nbsp;WinExec(PChar(windir+'/111.exe'),SW_NORMAL);<br> &nbsp; &nbsp;Close;<br> &nbsp;end<br> &nbsp;else<br> &nbsp;begin<br> &nbsp;MessageBox(0, 'OK', '111',<br> &nbsp; &nbsp;MB_OK + MB_ICONSTOP + MB_TOPMOST);<br> &nbsp;end;<br>end;
 
问题解决了,来个人领分也好啊
 
我来我来!我也有贴没人去领分呢!要不咱们换换
 
我也领点.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
785
DelphiTeacher的专栏
D
I
回复
0
查看
572
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部