Web Browser ve popup blocker

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mahmut
Üye
Mesajlar: 82
Kayıt: 21 May 2004 11:00
Konum: KONYA
İletişim:

Web Browser ve popup blocker

Mesaj gönderen mahmut »

Selamun Aleykum

Yaptığım ufak bir projecik var. Bu projecikte aynı ayda 20 kadar web sayfasını açıyorum web browser nesnesi ve page control kullanarak. Bu web browserda java ile çalışan bazı web sitelerinde enter yada back space tuşunun çalışmaması sorunumu aşağıdaki linkte muharrem beyin verdiği kod ile hallettim.
viewtopic.php?t=4258&highlight=web+browser

Fakat şimdi ise bu açılan sitelerde yani form içerisinden web browser ile açılan sitelerde popup açılan pencereleri engellemek istiyorum. Başka bir yardımı olmadan bu popup pencereler engellenebilirmi?


Çalışmalarınızda başarılar.. Yardımlar için Teşekkürler
Hayat Hayatı Anlamaya Yetmeyecek Kadar Kısadır. Önemli Olan Hayatı Anlamaya Çalışmak Değil Hayattayken Hayatta Olan İnsanlara Bir Eser Bırakabilmek veya Onlara Yardımcı Olabilmektir.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

A.S.
- Şunu dener misin...

Kod: Tümünü seç

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
  Cancel := True;
end;
Resim
Resim ....Resim
mahmut
Üye
Mesajlar: 82
Kayıt: 21 May 2004 11:00
Konum: KONYA
İletişim:

Mesaj gönderen mahmut »

Sayın mrmcop;

Yazdığınız kodu deneyeceğim evde net olmadıgından kod yazıp denemek uzun zaman alacak. Ama bu akşam kesinlikle deneyeceğim. İlgin için teşekkürler.
Hayat Hayatı Anlamaya Yetmeyecek Kadar Kısadır. Önemli Olan Hayatı Anlamaya Çalışmak Değil Hayattayken Hayatta Olan İnsanlara Bir Eser Bırakabilmek veya Onlara Yardımcı Olabilmektir.
mahmut
Üye
Mesajlar: 82
Kayıt: 21 May 2004 11:00
Konum: KONYA
İletişim:

Mesaj gönderen mahmut »

Arkadaşlar merhaba daha önce java uygulamalarında çalıştığını söylediğim kod şu anda aşağıdaki gibi düzenlediğimde çalışmamaya başladı. Sorun şu emekli sandıgının eczane uygulama sayfasında şifre ekranında yazılan rakamlar 2 tane çıkıyor tespitime göre

Kod: Tümünü seç

            FOleInPlaceActiveObject.TranslateAccelerator(Msg);
kodunu devre dışı bırakırsam normal çalışmaya başlıyor fakat bu seferde enter yada tab tuşları çalışmıyor kodu inceleyebilirmisiniz hata nereden kaynaklanıyor acaba teşekkürler

Kod: Tümünü seç

private
    FOleInPlaceActiveObject: IOleInPlaceActiveObject;
    procedure MsgHandler(var Msg: TMsg; var Handled: Boolean);

...............................


procedure TForm2.MsgHandler(var Msg: TMsg; var Handled: Boolean);
const
  DialogKeys: set of Byte = [VK_LEFT, VK_RIGHT, VK_BACK, VK_UP,VK_RETURN, VK_DOWN,
    $30..$39, $41..42, $44..$50, $58, $59..$5A];
var
  iOIPAO: IOleInPlaceActiveObject;
  Dispatch: IDispatch;
begin
  { exit if we don't get back a webbrowser object }
  if (WebBrowser1 =  nil) Then
  begin
    Handled := System.False;
    Exit;
  end;
   Handled := (IsDialogMessage(WebBrowser1.Handle, Msg) = System.True);
  if ((Handled) and (not WebBrowser1.Busy)) then
  begin
    if FOleInPlaceActiveObject = nil then
    begin
      Dispatch := WebBrowser1.Application;
      if Dispatch <> nil then
      begin
            Dispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);
            if iOIPAO <> nil then
            Begin
               FOleInPlaceActiveObject := iOIPAO;
            End;
      End;
    End;
    if FOleInPlaceActiveObject <> nil then
    Begin
       if ((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) or
         (Msg.wParam in DialogKeys) then
         Begin
         End  else
         Begin
            FOleInPlaceActiveObject.TranslateAccelerator(Msg);
        End;
    End;
  End;
End;

.......................................


procedure TForm2.FormCreate(Sender: TObject);
begin
  Application.OnMessage := MsgHandler;
end;

Hayat Hayatı Anlamaya Yetmeyecek Kadar Kısadır. Önemli Olan Hayatı Anlamaya Çalışmak Değil Hayattayken Hayatta Olan İnsanlara Bir Eser Bırakabilmek veya Onlara Yardımcı Olabilmektir.
mahmut
Üye
Mesajlar: 82
Kayıt: 21 May 2004 11:00
Konum: KONYA
İletişim:

Mesaj gönderen mahmut »

Arkadaşlar tekrar merhaba;

Sizleri sorularımla sıktıgım için özür dilerim ama artık kafayı yiyeceğim bir türlü bulamıyorum. Yukarıdada bahsettiğim gibi bu kod java uygulamalıprogramlarda rakamlarda sorunlu çalışıyor
Sorumu tekrarlamak istiyorum.

Amaç bir program içerisinden web browser kullanılarak 20 kadar sayfayı bir tuş ile açtırmak ama bu sayfaların içerisinde java uygulaması ile bir kaç sayfanın açılma gerekliliğinin olması. Normal html sayfalarına konulan edit kutularında bir problem yokken java uygulamalı bir web sayfasınında sadece rakamlarda sorun çıkıyor. buna bir çözüm bulunabilirmi?: Yani java uygulamalarda enter tab ileri geri tuşların çalışabildiği ama bunun rakamları etkilemeyen bir kod varsa lütfen söyleyin.

Evde internet olmadıgı için kodları denemekte çok zorluk çekiyorum.

Delphi 5 Pro kullanıyorum.

İYİ ÇALIŞMALAR
Hayat Hayatı Anlamaya Yetmeyecek Kadar Kısadır. Önemli Olan Hayatı Anlamaya Çalışmak Değil Hayattayken Hayatta Olan İnsanlara Bir Eser Bırakabilmek veya Onlara Yardımcı Olabilmektir.
dilekdurgun
Üye
Mesajlar: 30
Kayıt: 03 Kas 2005 05:01
İletişim:

Mesaj gönderen dilekdurgun »

mrmcop yazdı:A.S.
- Şunu dener misin...

Kod: Tümünü seç

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
  Cancel := True;
end;
Bir defaya mahsus işe yarıyor ama sayfa içerisinde gezer iken açılan diğer sayfalarda çıkan popuplar programın hata vermesine neden oluyor. acaba neden?
Cevapla