CnPack Open Source Projects - TEmbeddedWB控件Bug导致代码输入助手不能弹出的解决办法
     Home Page    News    Downloads    Nightly Build    Documents    Foundation    Forum    Credits    简体中文
 Latest Releases

 
CnWizards 1.5.0.1209
[2024-09-17]

 
CnVCL 20240917
[2024-09-17]

 
CVSTracNT V2.0.1 Build 20080601
[2008-06-02]
  Nightly Build RSS
  Timeline RSS RSS
 Project Links
CnPack at GitHub
Use GitHub
CnPack Mail
 Visitors
Today Visitors: 253
Today Pages: 1446
Total Visitors: 5256222
Total Pages: 21136511
Since: 2003-09-01
TEmbeddedWB控件Bug导致代码输入助手不能弹出的解决办法

CnPack Open Source Projects 2009-06-18 13:25:55

TEmbeddedWB控件Bug导致代码输入助手不能弹出的解决办法
作者:橙子、刘啸
2009-06-17
http://www.cnpack.org

TEmbeddedWB控件存在一个Bug,设计期被拖放到窗体上而创建实例时,会不必要地挂接全局的系统消息,并且不会将处理的消息依次再派发出去,导致CnWizards的代码输入助手无法获得编辑器中的按键消息,从而无法弹出。

躲开此问题的方法,可修改TEmbeddedWB控件源码的Create过程,使其EnableMessageHandler 过程在设计期间不调用即可。

也就是将:

constructor TEmbeddedWB.Create(Owner: TComponent);
begin
   inherited;
   {$IFDEF DELPHI_5_UP}
   EnableMessageHandler;
      {$ENDIF}
   GetDDEVariables;
      {$IFDEF DELPHI_6_UP}
      {$WARN SYMBOL_DEPRECATED OFF}
      {$ENDIF}
   DDEHWND := AllocateHWnd(DDEWndProc);
      {$IFDEF DELPHI_6_UP}
      {$WARN SYMBOL_DEPRECATED OFF}
   {$ENDIF}
  
   FAbout := 'Embedded Web Browser. ' + SITE_ADDRESS;
   FUserAgent := 'Mozilla/4.0(Compatible-EmbeddedWB' + VER_NUM + SITE_ADDRESS;
  ........ 以下代码省略
  
改为:

constructor TEmbeddedWB.Create(Owner: TComponent);
begin
   inherited;
   if not (csDesigning in ComponentState) then
   begin
   {$IFDEF DELPHI_5_UP}
   EnableMessageHandler;
      {$ENDIF}
   GetDDEVariables;
      {$IFDEF DELPHI_6_UP}
      {$WARN SYMBOL_DEPRECATED OFF}
      {$ENDIF}
   DDEHWND := AllocateHWnd(DDEWndProc);
      {$IFDEF DELPHI_6_UP}
      {$WARN SYMBOL_DEPRECATED OFF}
   {$ENDIF}
   end;
  
   FAbout := 'Embedded Web Browser. ' + SITE_ADDRESS;
   FUserAgent := 'Mozilla/4.0(Compatible-EmbeddedWB' + VER_NUM + SITE_ADDRESS;
   ......以下代码省略

然后重新编译安装TEmbeddedWB组件即可。
此修改能使CnWizards的代码助手能够正常弹出,并且程序编译后运行时由于是非设计期状态,因此也不会影响控件运行期的正常功能。



Page hits: 14424 times
From: CnPack Open Source Projects

Previous | UpNext

Links:


(C)Copyright 2001-2014 CnPack Develop Team  Site author: JingYu Zhou