未知元件之property |
尚未結案
|
FreeAsABird
一般會員 發表:1 回覆:2 積分:0 註冊:2005-03-28 發送簡訊給我 |
求教大大: 如下code
procedure SetCompText(Component: TComponent);
begin
if GetPropInfo(Component.ClassInfo, 'text') <> nil then
Component.text := 'text';
end;
Compile Error: Undeclared identifier: text
因元件可能是TEdit,TComboBox ...,不能用如TEdit(Component).text,有預編譯指令可禁止檢查或有其他做法么?
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
if Componet is TEdit then begin ( Component as TEdit).text := 'text'; ..... end else if Component is TComboBox then .... else if Component is TMemo then .... else ....---------------------------------------------- We will either find a way, or make one. -Hannibal -。 |
FreeAsABird
一般會員 發表:1 回覆:2 積分:0 註冊:2005-03-28 發送簡訊給我 |
|
speedup
資深會員 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
引言: 求教大大: 如下code procedure SetCompText(Component: TComponent); begin if GetPropInfo(Component.ClassInfo, 'text') <> nil then Component.text := 'text'; end; Compile Error: Undeclared identifier: text修改如下,你可以直接參考typinfo單元 裡面有一堆控制RTTI屬性的方法 var propInfo:PPropInfo; begin propInfo := GetPropInfo(Component,'Text'); if propInfo <> nil then begin SetStrProp(Comp,propInfo,'Text'); end; end;混心雜欲 棄修身~唉
------
唉~ |
FreeAsABird
一般會員 發表:1 回覆:2 積分:0 註冊:2005-03-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |