你可以创建一个函数,函数的返回值是类,我将我的类放在DLL中,通过程序调用就是这样实现的。
For Example
Function InitClass : TYourClass;
Begin
Result := TYourClass.Create( ... );
End;
For Example
Function InitClass : TYourClass;
Begin
Result := TYourClass.Create( ... );
End;
解决方案 »
- 今天认识个朋友开心(散分2)
- 请问我用Delphi开发Asp组件,在组件里所有的数据操作都用一个ADOQuery,请问这样对性能有影响吗?
- 这年头,有用MySQL做C/S结构的应用的数据库的么?用InterBase的我倒是见过,例如速达,那么MySQL是否有IB那么方便呢?!
- 看看我的代码
- 一个数据库中表的记录写到另外一个数据库中的表里!UP有分
- ClientDataSet.CommandText执行问题
- 哪些控件有将自己的文字内容直接拷贝到clipbord中的功能?
- 显示ACCESS数据库中OLE(图像),请问以下两个语句问题处在哪?
- 真烦!!paradox的date类型字段要求格式为mm/dd/yyyy,但delphi的datetimepicker控件得到的字段值的格式却是yyyy-mm-dd,各位有没有什么好办法解决?
- 计算
- 求助Dephi输出显示方式!
- 主窗体与登录子窗体的问题。
这种类好像叫什么元类,呵呵!
uses TypInfo;function ClassNameToComponent(mClassName: string; mOwner: TComponent): TComponent;
var
vPersistentClass: TPersistentClass;
begin
Result := nil;
vPersistentClass := GetClass(mClassName);
if not Assigned(vPersistentClass) then Exit;
Result := TComponentClass(vPersistentClass).Create(mOwner);
end; { ClassNameToComponent }procedure TForm1.Button1Click(Sender: TObject);
var
vComponent: TComponent;
begin
RegisterClasses([TEdit, TButton]); TComponent(vComponent) := ClassNameToComponent('TEdit', Self);
TControl(vComponent).Parent := Self;
SetStrProp(vComponent, 'Text', '测试测试看'); TComponent(vComponent) := ClassNameToComponent('TButton', Self);
TControl(vComponent).Parent := Self;
SetStrProp(vComponent, 'Caption', '测试测试看');
SetOrdProp(vComponent, 'Left', 140); UnRegisterClasses([TEdit, TButton]);
end;
uses TypInfo;function ClassNameToComponent(mClassName: string; mOwner: TComponent): TComponent;
var
vPersistentClass: TPersistentClass;
begin
Result := nil;
vPersistentClass := GetClass(mClassName);
if not Assigned(vPersistentClass) then Exit;
Result := TComponentClass(vPersistentClass).Create(mOwner);
end; { ClassNameToComponent }procedure TForm1.Button1Click(Sender: TObject);
var
vComponent: TComponent;
begin
RegisterClasses([TEdit, TButton]); TComponent(vComponent) := ClassNameToComponent('TEdit', Self);
TControl(vComponent).Parent := Self;
SetStrProp(vComponent, 'Text', '测试测试看'); TComponent(vComponent) := ClassNameToComponent('TButton', Self);
TControl(vComponent).Parent := Self;
SetStrProp(vComponent, 'Caption', '测试测试看');
SetOrdProp(vComponent, 'Left', 140); UnRegisterClasses([TEdit, TButton]);
end;
uses TypInfo;function ClassNameToComponent(mClassName: string; mOwner: TComponent): TComponent;
var
vPersistentClass: TPersistentClass;
begin
Result := nil;
vPersistentClass := GetClass(mClassName);
if not Assigned(vPersistentClass) then Exit;
Result := TComponentClass(vPersistentClass).Create(mOwner);
end; { ClassNameToComponent }procedure TForm1.Button1Click(Sender: TObject);
var
vComponent: TComponent;
begin
RegisterClasses([TEdit, TButton]); TComponent(vComponent) := ClassNameToComponent('TEdit', Self);
TControl(vComponent).Parent := Self;
SetStrProp(vComponent, 'Text', '测试测试看'); TComponent(vComponent) := ClassNameToComponent('TButton', Self);
TControl(vComponent).Parent := Self;
SetStrProp(vComponent, 'Caption', '测试测试看');
SetOrdProp(vComponent, 'Left', 140); UnRegisterClasses([TEdit, TButton]);
end;
begin
ClearFrame();
Result := ClassFrame.Create(form1.GroupBox1);
with Result do
begin
Parent := form1.GroupBox1;
Name := FrameName;
Align := alClient;
Visible := True;
end;
end;调用时候
CreateFrame(TFrame4, 'Frame41');这是以前写的创建Frame的函数,里面就用到了元类,你自己参考一下改改好了