远程数据模板中动态创建的Provider无法访问的问题

chinazxy2008 2007-03-02 09:44:39
全局区声明临时变量
public
testPro : TDataSetProvider;
testQr : TQuery;
动态创建Provider并注册:

function TTest.sFunIniProvider(Name: string): Boolean;
begin
if FindComponent('dsp'+Name) = nil then
begin
if FindComponent('qr'+Name) = nil then
begin
try
testQr := TQuery.Create(Self);
except
result := false;
Exit;
End;
testQr.Name := 'qr'+Name;
testQr.DatabaseName := 'hnjtBase';
testQr.SQL.Text := Uppercase('select * from zxy_TestM');
end;
try
testPro := TDataSetProvider.Create(Self);
except
result := false;
Exit;
End;
testPro.Name := 'dsptestM';
testPro.DataSet := testQr;
sTableName := 'zxy_testM';
sTableField := 'No';
testPro.BeforeGetRecords := dspBeforeGetRecords;
testPro.Exported := true;
testPro.Constraints := true;
Self.RegisterProvider(testPro);
end;

Result := True;
end;

但客户端引用时不存在动态创建的Provider,报错:Provider not exported

在创建方法中写入输出所有对象代码时能输出动态创建的Provider.

但在退出创建方法后,在其它地方测试时没有动态创建的Provider.只有表态创建的那些对象.

请各位高手指教
...全文
167 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianke5555 2007-03-03
  • 打赏
  • 举报
回复
testPro := TDataSetProvider.Create(owner);

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧