如何发布BDE?(100分)

  • 主题发起人 主题发起人 peterluolaw
  • 开始时间 开始时间
P

peterluolaw

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟初学DELPHI数据库编程.我用DATABASE DESKTOP建立了一个PARODOX类的表,且没有
为这个表使用或者创建任何别名.在用DELPHI编写的系统中也只使用了TTABLE控件.现
在需要制作安装盘,应该如何配置才能使发布的BDE能够正常运行?小弟实在搞不懂这个
INSTALLSHIELD中BDE项目究竟应该如何配置才行!我做的安装盘都有-"BDE引擎问题-
不能初始化BDE"的严重问题.求各位手把手地教一教小弟吧!
 
你可以在程序运行进行动态的配置BDE,而不必一定要在InstallShield中配置BDE。

// 这是MSSQL 使用的BDE示例
// 在DataModule模块中
procedure TWin_DM.Win_DMCreate(Sender: TObject);
var
ALst: TStringList;
s: string;
i: Cardinal;
begin

ALst:= TStringList.Create;
try
Srv_Ses.GetDatabaseNames(ALst); //Srv_Ses: TSession;
if ALst.IndexOf('BDE_Alias') < 0 then
begin
// 获取本机的主机名
i:= MAX_COMPUTERNAME_LENGTH+1;
try
s:='';
SetLength(s, i);
if not GetComputerName(pchar(s), i) then // i的值在这个函数里会被改变
raise Exception.Create('无法获取主机名以设置BDE信息!');
SetLength(s, i); // 如果缺少这句,在写BDE别名时s后面因为带有一些
// 乱字符,所以保存的时候得到的结果经常会有错误
// 如'HOST NAME'项的末尾会少一个字符
finally
ALst.Add('DATABASE NAME=BDE_Alias');
ALst.Add('HOST NAME='+s);
ALst.Add('SERVER NAME='+s);
ALst.Add('SQLQRYMODE=SERVER');
Srv_Ses.AddAlias('BDE_Alias','MSSQL',ALst);
Srv_Ses.SaveConfigFile;
end;
end;
finally
ALst.Free;
end;
end;

对于BDE系统文件,你可以把delphi安装盘中的BDE安装文件考到你的安装盘中一起发布。
 
在使用installshield时,第一个页面注意安装路径,一定要安装在你设计程序时bde别名
指向的路径,在选择bde数据库引擎时,要注意增加别名与你调试程序时的别名一样.这
几个问题解决后,你的安装文件在哪一台机子上都可以安装使用了.
 
1.to kk98;
我没有使用 datamodal 而直接使用的是 ttable 控件, 那么在我的系统中如何实现你的
方法?

2.to zhcg;
我在使用 database desktop 创建 paradox 类表时, 选择的别名为-"NONE", 创建
paradox 类表时的路径为-"c:/my documents/新建文件夹/delphi". 这种情况下, 我该如
何配置BDE才行?
 
可以把BDE必要的十来个文件单独做一个安装文件。很省事,复用率也高一点:)
参见http://www.delphibbs.com/delphibbs/modifyl.asp?lid=204892
 
你可以用
delphi 安装盘上的installshield做安装盘时直接加上就行了
很简简单的呀
 
我碰到过这个问题,把BDE文件全部打包进去就行了!
 
to softboy,
请问,应该如何将BDE文件全部打包?
 
1.为了能安装到其它机器上都就用,最好取一个别名,在DATABASE DESKTOP的菜单中建立,
注意一个问题,此别名必须对应你的数据库文件所在目录。
2.制作安装程序时,设置BDE为第1步中所建的别名。
 
后退
顶部