首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于第三方控件 Embedded Web Browser 的有关问题

2013-09-24 
关于第三方控件 Embedded Web Browser 的问题公司要开发一个模拟点击的软件,但后来目标网站也采用了技术,

关于第三方控件 Embedded Web Browser 的问题
公司要开发一个模拟点击的软件,但后来目标网站也采用了技术,封闭了所有从webbrowser的点击。于是相到了用第三方控件。网上说Embedded Web Browser控件很好,于是就下载了一个,安装也很顺利,但在编译工程时,却提示EwbTools出错,在这一行出错。
  psaHeadFoot := SafeArrayCreate(VT_VARIANT, 1, @saBound);

全部函数:
procedure PrintWithHeaderFooter(ControlInterface: IWebBrowser2; Header, Footer: PWideChar; Options: OLECMDEXECOPT);
var
  saBound: TSafeArrayBound;
  psaHeadFoot: PSafeArray;
  vaIn, vaOut: TVariantArg;
  vHeadStr, vFootStr: TVariantArg;
  rgIndex: LongInt;
begin
  try
    saBound.lLbound := 0;
    saBound.cElements := 2;
    psaHeadFoot := SafeArrayCreate(VT_VARIANT, 1, @saBound);
    vHeadStr.vt := VT_BSTR;
    vHeadStr.bstrVal := SysAllocString(Header);
    vFootStr.vt := VT_BSTR;
    vFootStr.bstrVal := SysAllocString(Footer);
    rgIndex := 0;
    OleCheck(SafeArrayPutElement(psaHeadFoot, rgIndex, vHeadStr));
    rgIndex := 1;
    OleCheck(SafeArrayPutElement(psaHeadFoot, rgIndex, vFootStr));
    vaIn.vt := VT_ARRAY or VT_BYREF;
    vaIn.parray := psaHeadFoot;
    ControlInterFace.ExecWB(OLECMDID_PRINT, Options,
      OleVariant(vaIn), OleVariant(vaOut));
    if vHeadStr.bstrVal <> nil then
      SysFreeString(vHeadStr.bstrVal);
    if vFootStr.bstrVal <> nil then
      SysFreeString(vFootStr.bstrVal);
  except
  end;
end;


请问谁能为我指点迷津,我只有70分,全部送上。

[解决办法]
我自己用的是2007,安装这个控件,然后在demo'中随便找个来编译下就知道安装是否正确了,记得这个第三方控件是支持D7-XE2的,建议用14.70版本试试看,应该可以,这个控件本身安装正确后是没有问题的。

热点排行