关于BDE的客户端设置问题(200分)

  • 主题发起人 主题发起人 medicineman
  • 开始时间 开始时间
M

medicineman

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在客户端安装BDE,但是服务器的名字,即“SERVER NAME”那一项是需要客户输入的。
请问我需要怎么做才能在安装时提示客户输入“服务器名”并使其生效呢?
PS:我目前使用的是delphi5带的installshield 4.0。
如果这个工具无法做到,有什么软件可以帮助我实现呢?谢谢!
//***新年快乐***//
 
修改注册表
 
delphi的BDE好像是写了一个idapi.cfg的文件,没有写注册表吧?
另外,如果哪位DX知道,最好能给详细一些的解答,谢谢!
 
configuration 不是写的注册表码?
databases 才写idapi.cfg
你可以通过修改configuration 注册表 中的server name,
这样,我在databases 中建这种数据库的连接的时候,server name 直接就去configuration
中的配置。
 
同意楼上
 
withdraw,谢谢,有点儿明白了,可是我怎么捕获用户的输入呢。
我现在需要的是做这样的东东,做一个安装盘,用户只需要在安装的时候输一下服务器名
或服务器IP地址就可以了。(用户是傻瓜型的,不会使用BDE Administrator)[:D]
 
我建议你不要在BDE Administrator设置别名,用程序设置也不要,现在有些公司用
Delphi或BCB做的程序在安装的时候会拿使用自己的BDE配置文件,当你辛苦配置好后
它把注册表一改你应找不到配置文件了.
建议你在程序中利用DataBase控件动态设置连接参数.
新建一个TDatabase类实例,把DriverName设为MSSQL(这里以SQL Server为例),
在Params中加入:
Server Name=服务器名
DataBase Name=数据库名
User Name=用户名
Password=登录口令
.......
好了即然在程序中设置,那安装的时候怎么设置,麻烦,那就不要在安装的时候设置,
就在第一次启动时设置吧,自己弹出一个窗口由用户输入,输入完后可以保存到注册
表或者INI文件中以便下次启动时直接使用,当然你也可以让用户每次都输入.
http://www.aidelphi.com
上有一篇专们介绍这个的文章,并且有相关的源码例程下载.
 
你可以在程序开始运行的时候检测ini文件
 
在第一次启动时调用下面的函数由用户输入,输入完后可以保存到注册
表或者INI文件中以便下次启动时直接使用
uses
ShlObj;
function GetNetComputerName : string;
var
BrowseInfo: TBrowseInfo;
IDRoot:PItemIDList;
Path: array[0..MAX_PATH] of Char;
begin
// Get the Item ID for Network Neighborhood
SHGetSpecialFolderLocation(Application.Handle,CSIDL_NETWORK,IDRoot);
ZeroMemory(@BrowseInfo,SizeOf(TBrowseInfo));
ZeroMemory(@path, MAX_PATH);
BrowseInfo.hwndOwner := Application.Handle;
BrowseInfo.pidlRoot := IDRoot;
//BrowseInfo.lpszTitle := '';
BrowseInfo.pszDisplayName := @path;
// Include this flag to show computer only
BrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;// or BIF_RETURNONLYFSDIRS ;
// Show the browse dialog, get the Item ID for the selected item and convert it to a path
SHBrowseForFolder(BrowseInfo);
// SHGetPathFromIDList(IDList, Path);
result := Path;
end;
 
[8D]
aizb,您的方法确实可行,但是那涉及别人的程序。
我在我们组里面负责的就是打包发送及客户服务工作(。。说的远了点)。
所以,我只能根据现状做我的工作。。有什么办法吗,先帮我度过这一关。
改程序只能以后再说了。谢谢
 
如果不改程序,那只好编写Install Shield脚本了.不过InstallShield For Delphi好象不支持脚本,你可能需要选用另外的安装制作工具.
 
或者自己编程做一个专们征对你那个程序的安装程序.应该也不算太难,在delphibbs可以找到很多关于手工配置BDE注册表的文档.
 
感谢诸位DX,等我先试试,有问题再请教。
 
多人接受答案了。
 
后退
顶部