国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于在COM中使用可選參數的研究

2019-11-18 18:41:17
字體:
來源:轉載
供稿:網友
關于在COM中使用可選參數的研究
作者:wangzhidong(Steven Bob)
創作日期:2002-3-27
在Delphi6中設計COM組件方法時,在 Parameter flags dialog 中,選擇Optional選項,即輸入參數為可選,現就給出如何實現可選參數實例。 
監測函數
function VarIsEmptyParam(const V: Variant): Boolean;
begin
  Result := (TVarData(V).VType = varError) and
            (TVarData(V).VError = $80020004); {DISP_E_PARAMNOTFOUND}
end;
實例
uses ComServ, Variants, Dialogs, SysUtils;
PRocedure TOptionalParamsDemo.GetParams(const Param1: WideString; Param2,Param3: OleVariant; Param4: Integer);
var
  s2, s3: WideString;
begin
  if VarIsEmptyParam(Param2) then
    s2 := ' empty '
  else
    S2 := ' not empty ';
  if VarIsEmptyParam(Param3) then
    s3 := ' empty '
  else
    S3 := ' not empty ';
  ShowMessage(Format('Param1[%s] Param2[%s] Param3[%s] Param4[%d]',[Param1, s2, s3, Param4]));
end;

 

procedure TForm1.Button1Click(Sender: TObject);
var
  V: Variant;
begin
  V := IDispatch(CoOptionalParamsDemo.Create());
  V.GetParams('123');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
  AIntf: IOptionalParamsDemo;
  V: Variant;
begin
  AIntf := CoOptionalParamsDemo.Create();
 // AIntf.GetParams('', EmptyParam, 9, 4);
  V := IDispatch(AIntf);
 // V.GetParams('123', '123', '123', '123');
  V.GetParams();
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var
  AIntf: IOptionalParamsDemo;
  V: Variant;
begin
  AIntf := CoOptionalParamsDemo.Create();
 // AIntf.GetParams('', EmptyParam, 9, 4);
  V := IDispatch(AIntf);
  V.GetParams('123', '123');
 // V.GetParams();
end;
 
procedure TForm1.Button4Click(Sender: TObject);
var
  V: Variant;
begin
  V := IDispatch(CoOptionalParamsDemo.Create());
  V.GetParams('123', '123', 123);
end;
procedure TForm1.Button5Click(Sender: TObject);
var
  V: Variant;
begin
  V := IDispatch(CoOptionalParamsDemo.Create());
  V.GetParams('123', 123, 123, 6);
end;


上一篇:算術編碼算法

下一篇:發布程序時對ODBC數據源的配置方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 赤城县| 邯郸市| 大悟县| 盐城市| 梅州市| 彰武县| 滁州市| 泾阳县| 竹山县| 礼泉县| 府谷县| 怀安县| 黄龙县| 宁津县| 乌拉特前旗| 云龙县| 来宾市| 全椒县| 开远市| 五大连池市| 维西| 兴安盟| 攀枝花市| 祁阳县| 秀山| 永和县| 芜湖县| 南安市| 宜城市| 三门峡市| 澄迈县| 阳朔县| 大竹县| 南丰县| 乌鲁木齐市| 松滋市| 汶上县| 樟树市| 桐柏县| 延川县| 呼图壁县|