中国开发网: 论坛: 程序员情感CBD: 贴子 476918
UnKnow365: [新年技术第一贴]关于Data Modul,请进...
项目里共用一个DATA Module,通过ADO连接Access数据库。Data Modul在主程序启动时自动创建,在FRAME里引用(通过调用参数),FRAME是根据需要创建的。编译可以通过但实际运行时在动态创建的FRAME里出错(根据提示是DataModul没有实例)。到底该如何共用才是科学合理的呢?
主程序:
implementation

uses PublicDBCon;
调用FRAME:
//实例化Frame
if FCableStatus = nil then
begin
FCableStatus := TFmeCableStatus.Create( Application );
FCableStatus.Parent := TabSheetTXXLJK;
FCableStatus.Align := alClient;
FCableStatus.Init(FSysMessage,PublicDBCon.DataModulePublic);//这里传参数
end;
FRAME:
procedure TFmeCableStatus.Init(sysMessage:TFmeMessage;sysDBCon:TDataModulePublic);里
.
.
.
PubDBCon := sysDBCon;
.
.
.
//注释掉的是不用参数传时的代码,正常,可是操作第二个Table时DAO36.DLL出错
//建立数据库连接
//if PubDBCon = nil then begin
//PubDBCon := TDataModulePublic.Create(Application );
//PubDBCon := PublicDBCon.DataModulePublic;
//end;
//下面这句运行时出错
if not PubDBCon.ConnectLocalDB then begin
Application.MessageBox('连接本地数据库出错!', '错误', MB_OK + MB_ICONSTOP);
Exit;
end;
.
.
.



第一个Table操作正常,第二个Table操作(主要是添加记录)老是出错:DAO36.dll错误,提示指针指向了一个非法地址。
日出东海落西山,愁也一天,喜也一天;遇事不钻牛角尖,人也舒坦,心也舒坦。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录