T
TMXYB
Unregistered / Unconfirmed
GUEST, unregistred user!
问题1
如datamodlue 的包为'datamodule_Package.bpl;我现在要在B包中和主程序中调用 datamodlue中的方法XXX,该如何调用;
我已经创建了全局变量FPackageHandle,admGlobal;并在主窗口开启时写了如下代码。
if FPackageHandle = 0 then
FPackageHandle := LoadPackage('datamodule_Package.bpl');
//
dataModuleClass := GetClass('TDataModule1');
//变量已经声明了。
if dataModuleClass <> nil then
begin
admGlobal :=nil;
admGlobal :=TDataModule(TComponentClass(dataModuleClass).Create(Application));
for iCounter := 0 to admGlobal.ComponentCount - 1 do
begin
if admGlobal.Components[iCounter].Tag=10 then
begin
// 这是调用对象,调用方法又该如何呢?
aQuery := TDataSource(admGlobal.Components[iCounter]);
DBGrid1.DataSource:=aQuery;
DBNavigator1.DataSource:=aQuery;
break;
end;
end;
end;
问题2
假如将上面的datamodlue 不打包,而是直接在主窗口中uses,其他包又如何引用他的方法呢,这种方法我试过好像不能直接引用,是不是有什么妙招?
如datamodlue 的包为'datamodule_Package.bpl;我现在要在B包中和主程序中调用 datamodlue中的方法XXX,该如何调用;
我已经创建了全局变量FPackageHandle,admGlobal;并在主窗口开启时写了如下代码。
if FPackageHandle = 0 then
FPackageHandle := LoadPackage('datamodule_Package.bpl');
//
dataModuleClass := GetClass('TDataModule1');
//变量已经声明了。
if dataModuleClass <> nil then
begin
admGlobal :=nil;
admGlobal :=TDataModule(TComponentClass(dataModuleClass).Create(Application));
for iCounter := 0 to admGlobal.ComponentCount - 1 do
begin
if admGlobal.Components[iCounter].Tag=10 then
begin
// 这是调用对象,调用方法又该如何呢?
aQuery := TDataSource(admGlobal.Components[iCounter]);
DBGrid1.DataSource:=aQuery;
DBNavigator1.DataSource:=aQuery;
break;
end;
end;
end;
问题2
假如将上面的datamodlue 不打包,而是直接在主窗口中uses,其他包又如何引用他的方法呢,这种方法我试过好像不能直接引用,是不是有什么妙招?