猫
猫眼
Unregistered / Unconfirmed
GUEST, unregistred user!
我的系统配置大致如下:
Windows 2000 pro (or server) sp3,Sybase 12.0,Delphi 5 update pack 1,BDE。
在一个动态连接库中有两个单元(当然还有别的单元,这里不列出来了):
*******************
unit Unit1
interface
uses
……, utPub;
type
TForm1 = class(TForm)
……
Query1: TQuery;
procedure FormCreate(Sender: TObject);
private
……
public
……
end;
var
Form1: TForm1;
implementation
……
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1.DatabaseName := DataBase.DataBaseName;
end;
……
end.
*********************
unit utPub;
interface
uses
DBTables;
procedure SetConnection(ADataBase: TDataBase); stdcall;
var
DataBase: TDataBase;
implementation
procedure SetConnection(ADataBase: TDataBase);
begin
if not Assigned(DataBase) then
DataBase := ADataBase;
end;
end.
**********************
动态链接库中导出SetConnection这个过程。
从外部调用时,传递一个TDataBase组件进去,该组件的LoginPrompt为False,Params中已经
设置用户名和密码,而且可以正常连接上。
但是在运行时,当该模块中的Query1第一次企图Open时,总是会出现登录对话框(如果只是简
单的exe,不会出现这样的问题),以后Close再Open就没事了。而且只要有任意一个Query已经
Open过了,其它的Query都不会有事了。该问题已经困扰我好几天了,急盼高手相助。究竟如何
才能让TQuery使用TDataBase的连接呢?
Windows 2000 pro (or server) sp3,Sybase 12.0,Delphi 5 update pack 1,BDE。
在一个动态连接库中有两个单元(当然还有别的单元,这里不列出来了):
*******************
unit Unit1
interface
uses
……, utPub;
type
TForm1 = class(TForm)
……
Query1: TQuery;
procedure FormCreate(Sender: TObject);
private
……
public
……
end;
var
Form1: TForm1;
implementation
……
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1.DatabaseName := DataBase.DataBaseName;
end;
……
end.
*********************
unit utPub;
interface
uses
DBTables;
procedure SetConnection(ADataBase: TDataBase); stdcall;
var
DataBase: TDataBase;
implementation
procedure SetConnection(ADataBase: TDataBase);
begin
if not Assigned(DataBase) then
DataBase := ADataBase;
end;
end.
**********************
动态链接库中导出SetConnection这个过程。
从外部调用时,传递一个TDataBase组件进去,该组件的LoginPrompt为False,Params中已经
设置用户名和密码,而且可以正常连接上。
但是在运行时,当该模块中的Query1第一次企图Open时,总是会出现登录对话框(如果只是简
单的exe,不会出现这样的问题),以后Close再Open就没事了。而且只要有任意一个Query已经
Open过了,其它的Query都不会有事了。该问题已经困扰我好几天了,急盼高手相助。究竟如何
才能让TQuery使用TDataBase的连接呢?