这是我的情况
我有一个名为 的服务BaseDataService
,在这里我创建了一个LocalDataAdapter
用于连接到名为DataBaseLayer
. 我尝试连接的服务包含具有所有需要使用的数据表的模式。
然后我创建了另一个从 继承的服务BaseDataService
,因此它包含LocalDataAdapter
前面提到的内容。问题是配置本地数据适配器后,我无法打开DataBaseLayer
服务中的数据表。发布代码:
Procedure TBaseDataService.ConnectDatabaseLayerToAdapter
begin
DataBaseLayerAdapter.ServiceInstance := DatabaseLayerService as IDataAbstractLocalServiceAccess
end
Procedure TBaseDataService.DataAbstractServiceCreate(Sender: TObject);
begin
DataBaseLayerAdapter.ServiceName := ' ';
end
function TBaseDataService.GetDataBaseLayerService: IDataBaseLayerService;
begin
if not Assigned(FDatabaseLayerService) then
FDataBaseLayerService := (CreateAndConnectService('DataBaseLayerService') as IDataBaseLayerService);
Result := FDataBaseLayerService;
end
ConnectDataBaseLayerToAdapter;
tbl_SA_Receipts.Open;
注意:最后一部分是我尝试连接到DataBaseLayerService
.
起初我得到这个错误:
“服务器上引发异常:模块中的访问违规地址 014FD9C0 .... 读取地址 0000098”
经过大量工作后,我设法修复了这部分,但现在我遇到的问题是,当我分配服务器实例时,它被分配为空,无法弄清楚原因,因为在上面的代码中这样做了在这里待了一段时间,但无法通过这部分。