打包前我要修改哪些?(50分)

  • 主题发起人 主题发起人 wohoot
  • 开始时间 开始时间
W

wohoot

Unregistered / Unconfirmed
GUEST, unregistred user!
我一个程序,有数据库,题片背景等,编译通过,运行也正常,但我复制放其他电脑运行就报告错误,缺少很多DLL;我在本机运行,如果复制到其他目录,原目录改名,运行也出错。请教我应该还要修改什么?
数据库我用的相对路径,没有用DBE。
 
DLL、图片等全部全部放在应用程序所在路径,在程序中把图片等改写成:
ExtractFilePath(Application.Exename)+'YourBMP.bmp'等。
 
所有固定地址的 都用 ExtractFilePath(Application.Exename)
 
在什么地方修改啊
 
程序是你自己编的吗?你应该知道在哪里改啊。
 
菜鸟 请赐教
 
5555555555555555555555555,指教指教啊
 
程序出错时会提示一些文件找不到,在你的程序中这些文件声明、路径按上面说的方法改就行了。程序在你手里,谁知道具体在哪里改?
 
那请问DLL我应该复制在什么地方
 
DLL放在程序的当前目录就可以了。
 
那TABLE1的Tablname路径怎么改?我写成 。。/data/123.db不能完成啊?还有就是背景图片设置成 ../Image/321.JPEG也不行啊
 
就是二楼说的了。算了,给你一段代码为例吧:
procedure TForm1.FormShow(Sender: TObject);
begin
_SYS_PATH:= ExtractFilePath(Application.EXEName);
//系统目录
_sys_sjk:=_sys_path+'DATA/zzglxt.mdb';//这样就得到数据库的绝对路径了
try
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='''+_sys_sjk+''' ;Jet OLEDB:Database Password=';
ADOConnection1.Connected:=true;
except
showmessage('无法打开数据库,请重新安装数据库驱动程序!!');
exit;
end;

end;
 
因为你的程序要在别人的电脑上运行,所以所需要用到的文件的路径和数据库的连接字符串都需要动态地产生的,而不能用硬编码。
楼上各位已经把问题说清楚了,楼主还是仔细看看大家的发言吧。
 
不好意思:我修改了路径。如下:
procedure TFmain.FormCreate(Sender: TObject);
var
syspath:string;
begin
syspath:=ExtractFilePath(Application.EXEName);
Mediaplayer1.filename:=syspath+'image/bgzc.mp3';
MediaPlayer1.Open;
MediaPlayer1.Notify:=True;
MediaPlayer1.Play;
end;

procedure TFmain.MediaPlayer1Notify(Sender: TObject);
begin
If MediaPlayer1.Position=MediaPlayer1.Length then
begin
MediaPlayer1.Rewind;
MediaPlayer1.Play;
end;
end;
这是循环播放背景音乐的,我在Mediaplayer1的Filename中删除了绝对路径,可运行出现[严重错误] Unable to build. License is invalid or has expired.
请问我错在哪里?
 
"Unable to build. License is invalid or has expired."与你编程无关,意思是说(可能是你的 MP3 播放控件)注册无效或过期。
 
我用的是DELPHI7自带的Mediaplayer控件啊
 
而且我换成绝对路径就可以啊
 
谢谢大家,问题解决,只要AUTOPLAY设置为F就OK
 
后退
顶部