Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Подавление сообщений   Найти похожие ветки 

 
SDF   (2004-04-30 09:05) [0]

Проблема такова.
Общаюсь с сервером через TWebBrowser. При определенном раскладе скрипты генерят разного рода сообщения.
Вопрос. Как подавить их появление.
Заранее благодарен


 
able ©   (2004-04-30 12:32) [1]

См. ф-ции TWebBrowser?


 
SDF   (2004-05-02 11:37) [2]

Конкретнее плз. Событие Открытия дочернего окна не помогает.


 
easy ©   (2004-05-02 17:46) [3]

If you are using TWebBrowser, you need to override the invoke method for
TOleControl. Check the code Below:

interface

TOleControl2 = class(TOleControl, IDispatch)
 private
   FScript : boolean;
 protected
   function IDispatch.Invoke = Invoke;
   function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult;
stdcall;
 public
   constructor Create(AOwner: TComponent); override;
 published
   property ScriptEnabled : boolean read FScript write FScript;
 end;

implementation

{ TOleControl2 }

constructor TOleControl2.Create(AOwner: TComponent);
begin
 inherited;
 FScript := true;
end;

function TOleControl2.Invoke(DispID: Integer; const IID: TGUID;LocaleID:
Integer; Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer):
HResult;
const
 DISPID_AMBIENT_DLCONTROL = -5512;
 DLCTL_DLIMAGES = $00000010;
 DLCTL_NO_SCRIPTS = $00000080;
 DLCTL_NO_JAVA = $00000100;
 DLCTL_NO_RUNACTIVEXCTLS = $00000200;
 DLCTL_NO_DLACTIVEXCTLS = $00000400;
 DLCTL_DOWNLOADONLY = $00000800;

var
 F: TFont;
begin
 if (Flags and DISPATCH_PROPERTYGET <> 0) and (VarResult <> nil) then
 begin
   Result := S_OK;
   case DispID of
     DISPID_AMBIENT_BACKCOLOR:
       PVariant(VarResult)^ := Color;

     DISPID_AMBIENT_DISPLAYNAME:
       PVariant(VarResult)^ := StringToVarOleStr(Name);

     DISPID_AMBIENT_FONT:
     begin
       if (Parent <> nil) and ParentFont then
         F := TOleControlHack(Parent).Font
       else
         F := Font;
       PVariant(VarResult)^ := FontToOleFont(F);
     end;

     DISPID_AMBIENT_FORECOLOR:
       PVariant(VarResult)^ := Font.Color;

     DISPID_AMBIENT_LOCALEID:
       PVariant(VarResult)^ := Integer(GetUserDefaultLCID);

     DISPID_AMBIENT_MESSAGEREFLECT:
       PVariant(VarResult)^ := True;

     DISPID_AMBIENT_USERMODE:
       PVariant(VarResult)^ := not (csDesigning in ComponentState);

     DISPID_AMBIENT_UIDEAD:
       PVariant(VarResult)^ := csDesigning in ComponentState;

     DISPID_AMBIENT_SHOWGRABHANDLES:
       PVariant(VarResult)^ := False;

     DISPID_AMBIENT_SHOWHATCHING:
       PVariant(VarResult)^ := False;

     DISPID_AMBIENT_SUPPORTSMNEMONICS:
       PVariant(VarResult)^ := True;

     DISPID_AMBIENT_DLCONTROL:
       if not(FScript) then
         begin
           PVariant(VarResult)^ := Integer(DLCTL_NO_JAVA or
DLCTL_NO_SCRIPTS or DLCTL_DLIMAGES);
           //PVariant(VarResult)^ := Integer(DLCTL_DOWNLOADONLY or
DLCTL_NO_JAVA or DLCTL_NO_SCRIPTS or DLCTL_NO_DLACTIVEXCTLS or
DLCTL_NO_RUNACTIVEXCTLS or 0);
         end;
     DISPID_AMBIENT_AUTOCLIP:
       PVariant(VarResult)^ := True;
   else
     Result := DISP_E_MEMBERNOTFOUND;
   end;
 end else
   Result := DISP_E_MEMBERNOTFOUND;
end;


Hope this helps

Fitim



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.05 c
1-1086497860
SkyRanger
2004-06-06 08:57
2004.06.20
Списки Delphi


14-1086197617
Rouse_
2004-06-02 21:33
2004.06.20
Восстановление убитого физически жесткого диска...


1-1086263598
Sergo742
2004-06-03 15:53
2004.06.20
Отследить изменение в ячейке DBGrid


1-1086735987
ivan9991
2004-06-09 03:06
2004.06.20
Форму в поток


14-1086111375
SergP
2004-06-01 21:36
2004.06.20
Какой-то нехороший человек шлет мыла (наверное с вирями)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский