亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? unit1.pas

?? 在delphi下實(shí)現(xiàn)類(lèi)似于java, C#等反射調(diào)用的一個(gè)例子
?? PAS
字號(hào):
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ObjAuto2009, untTestClass, StdCtrls, TypInfo;

type
  TForm1 = class(TForm)
    Memo1:   TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    edtText: TEdit;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
  private
    { Private declarations }
  public
    test: TTestClass;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
begin
  mi := GetMethodInfo(test, 'ShowText');
  ObjectInvoke(test,mi,[],[]);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
  s:string;
begin
  mi := GetMethodInfo(test, 'GetText');
  s := ObjectInvoke(test,mi,[],[]);
  ShowMessage(s);
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
begin
  mi := GetMethodInfo(test, 'ShowText2');
  ObjectInvoke(test,mi,[1],['test show text 2']);

end;

procedure TForm1.Button5Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
  s:string;
begin
  mi := GetMethodInfo(test, 'Reverse');
  s := ObjectInvoke(test,mi,[1],['test reverse']);
  ShowMessage(s);
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
  i: Integer;
begin
  mi := GetMethodInfo(test, 'AddInt');
  i := ObjectInvoke(test,mi,[2],[10,20]);
  ShowMessage(IntToStr(i));

end;

procedure TForm1.Button7Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
  i: Integer;
begin
  mi := GetMethodInfo(test, 'Add3');
  i := ObjectInvoke(test,mi,[3],[10,20, 30]);
  ShowMessage(IntToStr(i));

end;

procedure TForm1.Button8Click(Sender: TObject);
begin
  // 為類(lèi)內(nèi)的屬性賦值
  SetStrProp(test,'Text',edtText.Text);
end;

procedure TForm1.Button9Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
begin
  mi := GetMethodInfo(test, 'ShowCaption');
  ObjectInvoke(test,mi,[1],[Integer(Button1)]);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  test := TTestClass.Create;
end;

procedure TForm1.Button10Click(Sender: TObject);
var
  mi:    PMethodInfoHeader;
  b: Integer;
begin
  mi := GetMethodInfo(test, 'FindButton');
  b := ObjectInvoke(test,mi,[1],[Integer(self), edtText.Text]);
  if b = 0 then
    Exit
  else
    ShowMessage(TButton(b).Caption);
end;

procedure TForm1.Button11Click(Sender: TObject);
var
  pa: TPropertyArray;
  p: PPropertyInfo;
begin
  Memo1.Lines.Clear;
  // 獲取公開(kāi)屬性列表
  pa:=GetProperties(TTestClass);
  // 依次取出每個(gè)屬性
  for p in pa do
  begin
    Memo1.Lines.Add(p^.Name);
    Memo1.Lines.Add('Data Type: '+p^.PropType^.Name);
    if p^.PropType^.Kind = tkMethod then
      Memo1.Lines.Add('  Property Type: Method');
    if p^.PropType^.Kind = tkClass then
      Memo1.Lines.Add('  Property Type: Object');
    memo1.Lines.Add('--------------------------');
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  miArr: TMethodInfoArray;
  mi:    PMethodInfoHeader;
  retInfo: PReturnInfo;
  piArr: TParamInfoArray;
  pi: PParamInfo;
begin
  Memo1.Lines.Clear;
  // 獲取類(lèi)內(nèi)函數(shù)列表
  miArr := GetMethods(test.ClassType);
  
  // 依次取出每個(gè)函數(shù)
  for mi in miArr do
  begin
    memo1.Lines.Add('MethodName: ' + mi.Name);
    // 獲取返回值信息
    retInfo := GetReturnInfo(test, mi.Name);

    // 判斷是否有返回值,若有則Type為Function,否則為Procedure
    if retInfo.ReturnType = nil then
      memo1.Lines.Add('  Type: procedure')
    else
    begin
      memo1.Lines.Add('  Type: function');
      memo1.Lines.Add('  Returns: ' + retInfo.ReturnType^.Name);
    end;
    // 獲取方法的參數(shù)列表
    piArr := GetParams(test, mi.Name);

    if piArr <> nil then
    begin
      // 依次取出每個(gè)參數(shù)
      for pi in piArr do
      begin
        // 過(guò)濾掉Reflection自動(dòng)產(chǎn)生的SELF參數(shù)
        if UPPERCASE(pi.Name) = 'SELF' then
          Continue;
        memo1.Lines.Add('    ParamName: ' + pi.Name);
        memo1.Lines.Add('    ParamType: ' + pi.ParamType^.Name);
        memo1.Lines.Add('    ParamKind: ' + GetEnumName(
          typeinfo(TTypeKind), Ord(pi.ParamType^.Kind)));
      end;
    end;
    memo1.Lines.Add('--------------------------');
  end;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频在线观看一区二区| 亚洲福利国产精品| 香蕉影视欧美成人| 在线视频欧美区| 亚洲精品免费电影| 国产一区视频导航| 欧美本精品男人aⅴ天堂| 亚洲一级片在线观看| 成人精品一区二区三区四区| 精品盗摄一区二区三区| 国产精品1区2区| 久久综合九色综合97婷婷| 韩国女主播一区| 国产精品情趣视频| 91亚洲精华国产精华精华液| 欧美日韩一区二区不卡| 天天影视涩香欲综合网| 亚洲成人tv网| 欧美一区三区四区| 91蜜桃传媒精品久久久一区二区| 日韩精品久久久久久| 亚洲另类在线制服丝袜| 国产蜜臀av在线一区二区三区| 欧美人xxxx| 欧美日韩美少妇| 色综合天天综合色综合av| 国产一区二区影院| 午夜精品久久久久久久久久| 国产精品欧美精品| 国产精品美女久久久久av爽李琼| 91精品国产综合久久福利| 色视频一区二区| 成人av午夜影院| 福利一区二区在线观看| 国产剧情一区二区| 另类小说视频一区二区| 亚洲成av人影院| 日韩高清中文字幕一区| 日韩激情视频网站| 日韩电影免费在线观看网站| 午夜精品久久久久久不卡8050| 伊人开心综合网| 麻豆精品一区二区三区| 国产凹凸在线观看一区二区| 最近日韩中文字幕| 国产一区二区三区免费观看| 久久se精品一区二区| 精品一区二区免费视频| 久久精品99久久久| www.欧美.com| 51午夜精品国产| 国产午夜精品一区二区三区视频| 精品剧情v国产在线观看在线| 中文一区在线播放| 一区二区三区蜜桃| 久久超级碰视频| 国产91高潮流白浆在线麻豆| 欧美精品高清视频| 欧美变态tickle挠乳网站| 欧美一区二区三区日韩视频| 色网站国产精品| 2021久久国产精品不只是精品| 成人精品视频.| 日韩一区二区三区电影 | 久草精品在线观看| 在线视频你懂得一区二区三区| 欧美精品一区二区久久久| 中文字幕色av一区二区三区| 蜜桃视频免费观看一区| 色网站国产精品| 国产精品视频九色porn| 国产专区欧美精品| 欧美一级片在线看| 蜜臀精品一区二区三区在线观看| 欧美日韩不卡在线| 日本最新不卡在线| 精品久久久久久久一区二区蜜臀| 一区二区三区四区亚洲| 色狠狠综合天天综合综合| 亚洲天堂av老司机| 99v久久综合狠狠综合久久| 中文字幕免费观看一区| 国产成人精品免费看| 中文字幕日韩一区二区| 欧美少妇xxx| 经典三级一区二区| 亚洲精品久久嫩草网站秘色| 欧美日韩精品一二三区| 日本不卡高清视频| 欧美国产亚洲另类动漫| 一本色道久久综合狠狠躁的推荐| 亚洲精选视频在线| 日韩免费高清视频| 色一情一伦一子一伦一区| 亚洲人成网站色在线观看 | 91精品国模一区二区三区| 奇米精品一区二区三区在线观看一| 精品日产卡一卡二卡麻豆| 国产成人亚洲综合a∨猫咪| 国产精品久久久久久久裸模| 欧美日韩亚洲综合一区| 国产激情一区二区三区桃花岛亚洲| 亚洲一卡二卡三卡四卡无卡久久| 日韩欧美一级片| 欧美三区在线视频| av电影在线观看不卡| 国产一区二区三区免费观看| 亚洲3atv精品一区二区三区| 久久久久99精品一区| 欧美日产国产精品| 91成人免费在线视频| 99久久免费视频.com| 成人午夜电影久久影院| 久久99蜜桃精品| 美女视频一区二区| 免费精品视频在线| 久久99精品国产麻豆婷婷洗澡| 日本va欧美va瓶| 综合欧美一区二区三区| 91麻豆精品国产91久久久资源速度 | 日本一区二区三区视频视频| 欧美r级电影在线观看| 日韩写真欧美这视频| 日韩精品最新网址| 久久久精品tv| 亚洲综合一区二区三区| 天堂资源在线中文精品| 这里是久久伊人| 欧美高清性hdvideosex| 8v天堂国产在线一区二区| 99久久国产综合精品色伊| 国内精品不卡在线| 成人做爰69片免费看网站| 亚洲成av人影院在线观看网| 国产在线精品一区二区夜色| aaa亚洲精品一二三区| 8x8x8国产精品| 中文字幕一区不卡| 美女视频黄免费的久久| 99精品久久久久久| 精品国产欧美一区二区| 悠悠色在线精品| 国产亚洲欧美色| 亚洲日本va午夜在线影院| 亚洲视频一区在线| 蜜臀va亚洲va欧美va天堂| heyzo一本久久综合| av一二三不卡影片| 国产日韩欧美麻豆| 久久99久久99| 久久网站最新地址| 日韩电影在线看| 91精品国产综合久久久久久久| 国产精品私房写真福利视频| 日韩精品一卡二卡三卡四卡无卡| 国产精品久久久久久久久免费相片 | 精品一区二区精品| 成人国产电影网| 欧美精选一区二区| 国产精品久久久久影院色老大| 日韩**一区毛片| 欧美美女黄视频| 免费在线成人网| www成人在线观看| 久久99国产精品久久99果冻传媒| 欧美精品色综合| 最新热久久免费视频| 成人福利电影精品一区二区在线观看 | 51午夜精品国产| 麻豆一区二区在线| 中文字幕巨乱亚洲| 91在线视频观看| 蜜臀av性久久久久蜜臀av麻豆| 日韩午夜精品电影| 成人午夜视频福利| 亚洲国产精品久久不卡毛片 | 欧美精品v日韩精品v韩国精品v| 一区二区三区自拍| 日韩精品色哟哟| 久久无码av三级| 在线观看不卡一区| 国产高清久久久久| 日韩精品一区第一页| 国产校园另类小说区| 欧美日韩成人在线| 久久精品国产网站| 国产日韩在线不卡| 99久久久免费精品国产一区二区| 成人黄色一级视频| 中文字幕一区二区视频| 日韩欧美电影一区| 精品亚洲aⅴ乱码一区二区三区| 日韩三级电影网址| 国产午夜精品理论片a级大结局| 国产精品一区二区果冻传媒| 亚洲精品一区二区三区精华液 | 亚洲精品一区在线观看| 国模少妇一区二区三区| 91在线国内视频| 国产在线观看一区二区|