help2(100分)

  • 主题发起人 主题发起人 vampire100
  • 开始时间 开始时间
V

vampire100

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi作了一个播放mpg视频的程序b.exe如果把文件放到根目录在98的系统里就不能运行:(
我有把b.exe放到一个文件夹all里然后根目录用一个a.exe文件来调用
但是自动运行去不成功!打开all直接执行b.exe文件去可以运行(以前在根目录这样也不能作证常运行)
请问有什么方法可以解决这个问题?实现自动播放!
另外我发现当 a.exe文件调用b.exe文件的时候b.exe文件中用语句获得的当前目录是a.exe所在的目录:(
 
这只能说你程序的BUG,应该是路径处理得不够好吧。
 
是呀是呀!
我用的是getcurrentdir()
 
用getcurrentdir()
不行那该怎么半呀???

 
你的代码,当然是你自己解决了/。
 
ExtractFilePath(Application.ExeName)取当前执行文件所在的路径!
 
哎﹐老兄看下吧
如果現在在根目錄下的話﹕如 c:
str:=extractfilepath(application.ExeName);
結果為 c:
如果是在 c:/data目錄下的話﹐
str:=extractfilepath(application.ExeName);
結果為 c:/data/
也就在是根目錄下會少一個 '/'
所以你要這么做
str:=extractfilepath(application.ExeName);
if copy(str,length(str),1)<>'/' then

filename:=str+'/'
else

filename:=str;
應該是這樣的﹗﹗
 
str:=extractfiledir(application.exename)
 
可以先进入b.exe的目录:Chdir('C:/all/' );
 
ok!
谢谢各位
 
多人接受答案了。
 
后退
顶部