国产探花免费观看_亚洲丰满少妇自慰呻吟_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數據源的配置方法

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

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 信丰县| 新乡市| 招远市| 仪陇县| 蓬溪县| 垣曲县| 莱芜市| 习水县| 屏边| 临邑县| 巩义市| 屏南县| 鸡西市| 信丰县| 普洱| 金乡县| 沙洋县| 清水河县| 泰州市| 弋阳县| 沅江市| 石城县| 黄龙县| 隆德县| 秦皇岛市| 宜州市| 绩溪县| 贵州省| 东丽区| 东阳市| 南丰县| 澳门| 安国市| 福贡县| 涪陵区| 普洱| 深州市| 会昌县| 饶平县| 新乐市| 兴海县|