動態建立Frame窗體(根據類名,除T以外的字母)

2022-07-29 11:45:10 字數 946 閱讀 4572

假設有如下frame窗體 :  fromframe,levelframe

一、如果需要根據類名動態生成它們,先在各frame窗體的pas中註冊它們各自的類。

如下:initialization

registerclass(tfromframe);

initialization

registerclass(tlevelframe);

二、在呼叫者的pas中,引用它們

如:uses ufromframe, ulevelframe;

三、取得類名

四、根據類名動態生成frame窗體

procedure

lp_showframe(framename:string);

type

tframeclass 

=class 

oftframe;

varframeclass:tframeclass;

fframe:tframe;

begin

iffframe 

<>

nilthen

fframe:

=nil

;frameclass :

=tframeclass(findclass('t

'+framename));

fframe :

=frameclass.create(self);

with

fframe 

dobegin

parent :

=tab_detail;

visible :

=true;

top :=40

;font.name :='

宋體';

font.size :=9

;end;

end;

五、呼叫方法:

lp_showframe(framename); 

根據窗體名稱動態建立窗體

unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,buttons,comctrls,db,adodb type tform1 clas...

C 實現反射 根據類名動態建立物件

和網上大多數實現一樣,這裡也是採用工廠方法來實現物件的動態建立。大致原理為,建立乙個單例工廠類,其中維護乙個map 類名 物件建立函式 建立物件時,傳入類名,然後根據此類名查詢出建立函式,最後建立物件。採用這種方式,有乙個關鍵問題,便是在工廠中註冊類名。我們的辦法是針對於每乙個類 class 定義乙...

sqlalchemy根據表名動態建立model類

sqlalchemy根據表名動態建立model類 作用如題,直接上 吧,另外還支援 copy一張表的表結構,新建表並獲得model物件 coding utf 8 import traceback from sqlalchemy import biginteger,column,datetime,in...