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

 
CnWizards 1.5.1.1219
[2024-11-03]

 
CnVCL 20241103
[2024-11-03]
  Nightly Build
  CnWizards Timeline
 Project Links
 

 
CnPack at GitHub
Use GitHub
 Visitors
Today Visitors: 377
Today Pages: 2033
Total Visitors: 5301546
Total Pages: 21367419
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: 14580 times
From: CnPack Open Source Projects

Previous | UpNext

Links:

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