关于WinExec的使用方法?(10分)

  • 主题发起人 主题发起人 ql
  • 开始时间 开始时间
Q

ql

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Form1里调用另一个可执行文件,使用的是WinExec,现在出现问题,代码如下:<br>Form1:<br>var TmpStr1,TmpStr2 : string;<br>TmpStr1 := Edit1.Text;<br>TmpStr2 := Edit2.Text;<br>WinExec('D:/delphi/调用/From1/Project1.exe TmpStr1 TmpStr2',sw_shownormal);<br>—————————————————————————————————————<br>Form2:<br>var Tmp1,Tmp2 : string;<br>Tmp1 := LowerCase(ParamStr(1));<br>Tmp2 := LowerCase(ParamStr(2));<br>Label1.Caption := Tmp1;<br>Label2.Caption := Tmp2;<br>—————————————————————————————————————<br>为什么在Form2里得到:<br>Label1.Caption := 'TmpStr1';<br>Label2.Caption := 'Tmpstr2';<br>这是为什么???<br>该如何解决?<br>请帮忙修改一下!急等解决!<br>谢谢!!!
 
应该这样:<br>WinExec('D:/delphi/调用/From1/Project1.exe ' + TmpStr1 +' '+ &nbsp;TmpStr2,sw_shownormal);
 
不行啊,有错误,我改成:<br>WinExec(PChar('D:/delphi/调用/From2/Project2.exe' + TmpStr1 +' '+ TmpStr2),sw_shownormal);<br>可以执行,但无法显示Form2窗口,更别说参数传递了???
 
Project2.exe 后面要有空格。
 
如楼上所说,<br>WinExec('D:/delphi/调用/From1/Project1.exe(此处有空格) ' + TmpStr1 +'(此处有空格)'+ &nbsp;TmpStr2,sw_shownormal);
 
你的路径写错了。不应该写form2,你只要把project2的路径写上就行了。form2是窗名就不必写<br>profect2.ext是在调用目录下。写法如下:<br>&nbsp;WinExec(PChar('D:/delphi/调用/Project2.exe (此处有一个空格)' + TmpStr1 +'(此处有一空格)'+ TmpStr2),sw_shownormal);<br>这样就好了,我都试过了不会错的。<br><br><br>
 
Form2是目录名。<br>var TmpStr1,TmpStr2 : string;<br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; tmpstr1 := edit1.Text;<br>&nbsp; tmpstr2 := edit2.Text;<br>&nbsp; WinExec('../From2/Project2.exe ' + TmpStr1 +' '+ TmpStr2,sw_shownormal);<br>end;<br>根本无法执行,报的是以下的错:<br>[Error] Unit1.pas(34): Incompatible types: 'String' and 'PChar'<br>我将WinExec改成:<br>WinExec(PChar('../From2/Project2.exe ' + TmpStr1 +' '+ TmpStr2),sw_shownormal);<br>可以执行但没有任何结果,无法启动 Project2.exe !
 
WinExec('D:/delphi/调用/From1/Project1.exe(此处有空格) ' + TmpStr1 +'(此处有空格)'+ &nbsp;TmpStr2,sw_shownormal);
 
呵呵,谢谢楼上的各位师兄!<br>谢谢各位的鼎力相助,小弟可是够笨的!!!<br>问题已经解决了!!!<br>再次感谢!!!
 
后退
顶部