全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1080
推到 Plurk!
推到 Facebook!

動態存取其他元件上產生的物件問題

尚未結案
fj
一般會員


發表:20
回覆:12
積分:6
註冊:2004-11-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-07 15:56:34 IP:220.229.xxx.xxx 未訂閱
看了很多大哥們寫的關於component存取的方法,小弟還是有很多疑問,最近想要把一個page上的一個Panel上的Control物件copy到另一個動態產生的page上的panel上,是不是有什麼好方法,是過一些方法但都行不通,請各位大哥指教一下。
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-08 15:07:00 IP:218.32.xxx.xxx 未訂閱
fj 你好:    Run Time Create....不再贅述.    Run Time Copy Propties ( 含 Class / Method ), 參考看看:
uses TypInfo;    procedure CopyProps(Source, Target: TObject);
const ValidTypeKinds =
      [tkInteger, tkChar, tkWChar, tkClass, tkEnumeration, tkSet, tkFloat,
       tkMethod, tkString, tkLString, tkWString, tkVariant, tkInt64,
       tkDynArray];
var sPL, tPL : PPropList;
    i ,PCount : integer;
begin
  if Source.ClassType <> Target.ClassType then
    raise Exception.Create('Different Class Type !');
  PCount := GetPropList(Source, sPL);
  GetPropList(Target, tPL);
  for i := 0 to PCount-1 do
  if (sPL^[i].PropType^.Kind in ValidTypeKinds) and (Comparetext(sPL^[i].Name,'name')<>0) then begin
    case sPL^[i].PropType^.Kind of
    tkMethod:
      SetMethodProp(Target ,tPL^[i].Name, GetMethodProp(Source ,sPL^[i].Name));
    tkClass:
      SetObjectProp(Target ,tPL^[i].Name, GetObjectProp(Source ,sPL^[i].Name));
    else
      SetPropValue(Target, tPL^[i], GetPropValue(Source,sPL^[i]));
    end;
  end;
end;
系統時間:2024-05-22 3:44:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!