Delphi 通过字符串实例化类

通过字符串创建窗体类对象 
1、需要在程序初始化的时候将类注册,注册到对象 RegGroups:(TRegGroups)中,以便查找。 
注册类使用的函数:RegisterClass ,窗体初始化操作放在initialization 中。

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TfrmReg = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmReg: TfrmReg;

implementation

{$R *.dfm}

initialization //初始化开始
  RegisterClass(TfrmReg) ; //注册类对象

end.

2、利用FindClass根据类名来查找类对象。

//根据类名创建对象
procedure TForm1.Button1Click(Sender: TObject);
var
  FormClass : Tformclass ;
  Form : TForm ;
begin
   FormClass := Tformclass(findclass(‘TfrmReg‘)) ;
   Application.Createform(FormClass,Form) ;
   Form.Show ;
end;

initialization —— 在单元中放在文件结尾前,包含用来初始化单元的代码,它在主程序运行前运行并且只运行一次。

finalization —— 在单元中放在 initialization 和 end. 之间,包含了单元退出时的代码。在程序退出时运行并且只运行一次。

时间: 2024-08-23 12:29:01

Delphi 通过字符串实例化类的相关文章

C#运行时通过字符串实例化类对象

备忘,记个C#版本. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CS_Test { public class BaseBullet { public float x; public float y; public int color; public string name; public

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找 //查找是否存在 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';   reg.RegEx  := '\d';   if reg.Match then     ShowMessage('找到了')   else     ShowMessage('

Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式

Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式 // MatchedExpression 与 SubExpressions[0] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007';   reg.RegEx  := 'Delphi';   while reg.MatchAgain do   begin    

C#中字符串String类及方法的使用(一)

一.实例化String对象 1.最常用的方法是直接将字符串分配到String变量中. 注意1:转义字符 \ ,字符串内含有引号"".反斜杠\或换行等都需要使用“\”输出. 注意2:在字符串前面使用@符号,指明转义序列不被处理. 1 string string1 = "This is a string created by assignment."; 2 Console.WriteLine(string1); 3 string string2a = "The

Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数

Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数 //字符串分割: Split var   reg: TPerlRegEx;   List: TStrings; begin   List := TStringList.Create;   reg := TPerlRegEx.Create(nil);   reg.Subject := 'aaa,bbb,ccc,ddd';   reg.RegEx  := ','; {这里可是运行相当复杂的分割符啊}   reg

php7实例化类有对象有两种方法

php7实例化类有对象有两种方法,下面给介绍具体两种方法 class Person{public $a="96net.com.cn";public function eat(){echo 'xxxx';} } 1,NEW 关键词实例化对象 $xm= new Person();或者$xm= new Person; 2, 类名字符串,把类名赋值给变量 $strs='Person'; $xm= new $strs(); 原文地址:https://blog.51cto.com/13959155

C# Activator实例化类的一般步骤

2016-01-06 1.获得要创建实例的类的类名 var className = "(命名空间namespace).ClassName"; 2.得到当前类的类型 var classType = Type.GetType(className); 3.创建实例化类的参数数组 var args = new object[] { object1, object2,object 3...}; 4.使用Activator实例化类 var classInstance = Activator.Cre

字符串工具类(指定字符串的长度和判断是否为空等方法)

package com.sec.util; /** * 字符串工具类 * @author Administrator * */public class StringUtil { /** * 过滤<,>,\n 字符串的方法 * @param input * @return */ public static String filterHTML(String input){ if(input == null || input.length() == 0){ return input; } input

也谈C#之Json,从Json字符串到类代码

原文:也谈C#之Json,从Json字符串到类代码  阅读目录 json转类对象 逆思考 从json字符串自动生成C#类  json转类对象 自从.net 4.0开始,微软提供了一整套的针对json进行处理的方案.其中,就有如何把json字符串转化成C#类对象,其实这段代码很多人都清楚,大家也都认识,我就不多说,先贴代码. 1.添加引用 System.Web.Extensions 2.测试一下代码 1 static class Program 2 { 3 /// <summary> 4 ///