我想将数据库的连接信息写到一个动态库里(100)

W

wangmao

Unregistered / Unconfirmed
GUEST, unregistred user!
我在dll中用zconnection控件来配置数据库连接信息代码如下:library ZconQuery;uses ShareMem,SysUtils,Variants,Classes,Graphics,Controls,Windows,Messages, Forms,Dialogs,ZConnection, ZAbstractRODataset, ZAbstractDataset, ZDataset;type CDArr = array[0..3] of string; //公共参数数据库读取{$R *.res}procedure ZconCon(Zcon:TZConnection;Arr: CDArr); cdecl;begin Zcon.Database := Arr[0]; Zcon.HostName := Arr[1]; Zcon.User := Arr[2]; Zcon.Password := Arr[3]; Zcon.Protocol := 'postgresql-8'; Zcon.Properties.Add('character_set_client=gbk'); Zcon.Properties.Add('character_set_connection=gbk'); Zcon.Properties.Add('character_set_database=gbk'); Zcon.Properties.Add('character_set_results=gbk'); Zcon.Properties.Add('character_set_server=gbk'); Zcon.Properties.Add('character_set_system=gbk'); Zcon.Properties.Add('collation_connection=gbk_chinese_ci'); Zcon.Properties.Add('collation_database=gbk_chinese_ci'); Zcon.Properties.Add('collation_server=gbk_chinese_ci'); Zcon.Properties.Add('Codepage=gbk');end;exports ZconCon;beginend.但是我在主程序调用的时候(主程序也加入sharemen)执行查询后,关闭窗体后出现invalid pointer operation如果我把那动态库中的过程直接写到主程序中,就没有这个问题主程序中不用引用sharemen这个单元(对直接写在主程序时,加上sharemen就提示指针错)
 
我后来发现,估计不是动态库的问题可能是我用的那个控件有问题不过现在只是我的猜测试
 
不过好像也不是控件问题我重新试一下,在主程序加载的时候不加动态库函数就没有问题看来这样动态库写法有问题
 
我后来发现,估计不是动态库的问题可能是我用的那个控件有问题不过现在只是我的猜测试
 
顶部