这个问题很难吗???为什么我放在这儿和csdn都没人回答!!!还是问题太简单不屑回答!请知道得帮帮忙~谢谢!!! (100分)

  • 主题发起人 主题发起人 麓山脚下一颗葱
  • 开始时间 开始时间

麓山脚下一颗葱

Unregistered / Unconfirmed
GUEST, unregistred user!
在用webbrowser控件做复制的时候。。
输入这段代码:
代码:
if (WebBrowser1.QueryStatusWB(OLECMDID_COPY)=(OLECMDF_ENABLED or OLECMDF_SUPPORTED)) then WebBrowser1.ExecWB(OLECMDID_COPY,0);
程序能够编译成功!不过执行复制的时候遇到提示:“试图吊销一个未注册的拖放目标”
查找得知在整个程序代码的最后(end.之前)要添加以下代码~
代码:
initialization
  OleInitialize(nil);
finalization
   try
    OleUninitialize;
   except
   end;
可是遇到
OleInitialize、OleUninitialize未声明的错误!请问怎样解决!
而且为什么初始化和终止化都要写在最后!???

同样差不多的代码!在做全选时输入:
代码:
if (WebBrowser1.QueryStatusWB(OLECMDID_SELECTALL)=(OLECMDF_ENABLED or OLECMDF_SUPPORTED)) then WebBrowser1.ExecWB(OLECMDID_SELECTALL,0);
并且未输入那些初始化、终止化代码却能正常运行!请问那些代码是不是一定必要的!谢谢~!
 
>OleInitialize、OleUninitialize未声明的错误??
是不是你没包含什么单元?搜一下vcl目录,找到声明的地方就加上
 
uses Activex;
 
谢谢!不过似乎结果还是一样!---ZRWeng
说句实话~我都不知到要加的那些语句是不是一定必要的!你说的方法能具体点吗!最好时作个简单的程序直接把代码给我!程序里只要一个复制按钮一个webbrowser控件即可!谢谢!---jzx
 
好象不是楼上所讲的情况,因为编译通过了。
 
应该是WebBrowser1.ExecWB(OLECMDID_COPY,0);在作怪,
可惜我没用过webbrowser控件,查了一下Delphi帮助,其语法是:
Delphi syntax:

procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT); overload;
procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn: OleVariant); overload;
procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn: OleVariant; var pvaOut: OleVariant); overload;
 
问题以自行解决!谢谢!
方法:把要加的那段代码改成
代码:
initialization
  OleInitialize(nil);
finalization
  OleUninitialize;
即可!(原来查找的资料上可能有错误)
我按照原来的代码确实不可以编译成功!要不然我也不会来问!--jpyc
帮助上的东东我也看过了!不过不是那儿的错误!!谢谢!!--chnplzh
 
后退
顶部