CnPack Forum » CnPack IDE 专家包(CnWizards) » 包含EmbeddedWB的工程使代码助手失效的解决


2009-6-17 19:43 rarnu
包含EmbeddedWB的工程使代码助手失效的解决

是EmbeddedWB本身的问题,该控件创建时,将消息全部挂住,于是代码助手无法弹出了

修改方法如下:
找到
[code]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;
  ........ 以下代码省略[/code]

然后将其改为
[code]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;
......以下代码省略[/code]

换言之解决方法很简单,就是在设计期不让EmbeddedWB去挂消息
这个操作将使代码助手能够正常弹出,并且程序编译后,设计期状态不存在,也不会影响控件的正常功能

2009-6-17 21:21 Passion
原来橙子在加班加点解决这个问题……

2009-6-17 21:33 rarnu
还多亏你找到问题的根源。。。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.