主题:[原创]delphi的程序怎样才能脱离环境运行啊?
xuesijituan
[专家分:0] 发布于 2007-01-19 14:28:00
我的程序已经写完了,我用的是SQL数据库,添加了系统数据源。程序自动编译成了project1.exe。当我把project1.exe拿到别的机器上时,程序无法运行,新的机器上有SQL,并且我也添加了数据源。
delphi的程序怎样才能脱离环境运行啊?
是不是delphi的程序发布有什么规定啊?
回复列表 (共7个回复)
沙发
aloneforu [专家分:1270] 发布于 2007-02-14 10:11:00
尽量使用ADO,不要使用BDE,如果你使用的是BDE的话,那就要装下bde了,使用delphi自带的安装程序打个包
板凳
gg1335 [专家分:1400] 发布于 2007-02-26 17:03:00
如果你想在别的机子继续做程序的话就得从新连接ADOConnection
如果想在别的机子运行的话就建个DataModule然后用ADO连接
3 楼
zwt [专家分:1230] 发布于 2007-02-27 09:04:00
同意2楼的说法!
4 楼
5cai [专家分:90] 发布于 2007-03-03 15:43:00
还是ADO,用一个ADOConnection进行数据库连接就行!
其他的都用它!
容易管理!
当然也是要建一个DataModule!
5 楼
5cai [专家分:90] 发布于 2007-03-03 15:45:00
数据库的连接语句最好是可以放到.ini文件中!
通过读取来连接数据库
6 楼
雾里看花1966 [专家分:0] 发布于 2007-03-03 22:48:00
用ADO连接技术,但应该添加一个下面的过程
//用户管理联接
procedure TDM.ADOConnection1BeforeConnect(Sender: TObject);
var
a:string;
begin
ADOConnection1.Connected:=false; //设置connected属性为false
a:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;';// Provider=Microsoft.Jet.OLEDB.4.0 User ID=Admin;这是如何设置呢?
a:=a+'Data Source='+ExtractFilePath(application.ExeName)+'DADE bass\用户管理.mdb;'; // main.address :=application.ExeName;在这里不能直接调用
a:=a+'Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";';
a:=a+'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;';
a:=a+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;';
a:=a+'Jet OLEDB:Don'+''''+'t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
ADOConnection1.ConnectionString:=a+'Jet OLEDB:Don'+''''+'t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
end;
7 楼
hen990123 [专家分:10] 发布于 2007-03-20 00:08:00
同意2楼的说法
我来回复