我想动态的调用一个类,如何用包实现类似插件的功能,
最好有代码,3x
最好有代码,3x
解决方案 »
- 请问线程里处理TstringList出错怎么解决?
- 如何把image1.picture赋值给variant变量
- 防止屏幕抖动,解决即给分
- 打印时如何将内容在MEMO中居中?
- 我能通过局域网上intert,但我打不开网上邻居,且不能访问其它网上机器,现请教各路高手!
- 问一个基础问题和征求一个建议...
- Delpi6 中可以不可像bcb中那样很方便快速地给类添加属性和方法啊?不会没有那功能吧?
- 为什么以下代号执行后并关闭窗口,其它窗口在ClientDataSet.CommandText中使用Insert语名会出错?
- delphi6中记录行指针参数传递问题。
- 获取password框的文本;
- ActiveForm在不同显示器上的显示问题?
- 在D7下如何建立一个DPK文件!
如IDispatch
GetTypeInfoCount
GetTypeInfo
GetIDsOfNames
Invoke
等。
建议用COM+吧
我看过 delphi6技术手册,
里面用RegisterClass & GetClass就可以了,
不过我照则他的做,始终无法找到类
GetClas(AClassName)=nil //我 ft
谁能指点一下
代码如下:
Unit1; //
uses
Unit2; //定义了TAClassTFrom1=Class(TForm)
FormCreate(Sender: TObject);
buttom1Click(Sender: TObject);
private
FObj: TAClass;
end;procedure FormCreate;
var
hModal: Hxxx;
AClass: TAMetaClass;
begin
hModal := LoadPackage('Package1.bpl'); //这行能运行
AClass = TAMetaClass(GetClass('TBClass'));
//为什么总是返回nil,也就是找不到TBClass
Button1.Enabled := AClass<>Nil;
if AClass<>nil then FObj := AClass.Create(nil);
end;buttom1Click(Sender: TObject);
begin
messageDlg(FObj.ClassName, mtWarning, [mbOk],0);
end;
//
unit2;TAClass = class(TComponet)
end
TAMetaClass = class of TAClass;//unit3; in Package1.dpk
uses unit2
TBClass = class(TAClass)initiliazation
registerClass(TBClass); //注册类TBClass
end;这个例子我是模仿maste delphi 6 的例子写的
可是不知道为什么出错,我保证没有拼写错误