如题,
ShellExecute(Handle, 'open', PChar(mDir), '123', nil, SW_SHOWDEFAULT);//调用程序
这样编译是没有问题的。并且可以打开另外一个程序,传递过去参数123
但是如果123是个变量mBL。那么我想传递的时候写成这样:
ShellExecute(Handle, 'open', PChar(mDir), 'mBL', nil, SW_SHOWDEFAULT);//调用程序
这样提示mBl不是PChar类型。编译不过。
问问大虾这里到底该怎么写?

解决方案 »

  1.   

    ShellExecute(Handle, 'open', PChar(mDir), PChar(mBL), nil, SW_SHOWDEFAULT);
      

  2.   

    ShellExecute(Handle, 'open', PChar(mDir), PChar(mBL), nil, SW_SHOWDEFAULT  );
      

  3.   

    谢谢楼上的
    但是我如果要传递多个参数呢?
    ShellExecute(Handle, 'open', PChar(mDir), PChar(mBL), nil, SW_SHOWDEFAULT);mBL1,mBL2等等。
    又该怎么写?主要是怎么转换。
      

  4.   

    ShellExecute(Handle, 'open', PChar(mDir), '参数1 参数2 参数3', nil, SW_SHOWDEFAULT); 
      

  5.   

    例如
      mPubServer:='mYserver'; //机器名
      mDir:='D:\myWork\Xt\'+'A'+mMKBH+'.exe';//程序路径
      我要把mPubServer和mDir这两个参数都传走。该怎么写?谢谢
      ShellExecute(Handle, 'open', PChar(mDir), pChar(mPubServer), nil, SW_SHOWDEFAULT);//调用程序
      

  6.   

    ShellExecute(Handle, 'open', PChar(mDir), pChar(mPubServer)+' '+pChar(mDir), nil, SW_SHOWDEFAULT);//调用程序 
      

  7.   

    楼上的会报错的
    ShellExecute(Handle, 'open', PChar('C:\Cshis\cshisconf.exe'), PChar(mdir+' '+mbl), nil, SW_SHOWDEFAULT  );
      

  8.   

    ShellExecute(Handle, 'open', PChar(mdir), PChar(mdir+' '+mbl), nil, SW_SHOWDEFAULT  );