关于在COM中使用可选参数的研究计算机等级考试

文章作者 100test 发表时间 2010:01:01 09:35:36
来源 100Test.Com百考试题网


  关于在COM中使用可选参数的研究
  在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.
  实例下载: http://www.megspace.com/computers/coreware/

  编辑特别推荐:

  全国计算机等级考试资料下载

  全国计算机等级考试论坛

  如何应付二级考试中的公共基础知识



相关文章


让弹出式广告就地正法计算机等级考试
获取其他线程的光标句柄计算机等级考试
用mediaplay实现抓图计算机等级考试
计算机二级辅导:TreeView使用笔记计算机等级考试
关于在COM中使用可选参数的研究计算机等级考试
在Delphi中如何使用RC文件中的字符串表计算机等级考试
计算机二级辅导:如何实现API钩子计算机等级考试
EXE工程和OCX工程的转化计算机等级考试
如何取得系统中的桌面的路径计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛