TWebBrowser OnNewWindow2 Olayı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen vkamadan »

Merhaba değerli üyeler ,

Sorunumu basitçe izah etmeye çalışayım ,

Bir formun üzerine tasarım anında 2 adet TWebBrowser bileşeni ekliyorum , 1nci TwebBrowser nesnesinden navigate ettiğim sayfada tıkladığım bir button ya da link popup olarak 2nci bir ekran açıyor ben de 1nci TWebBrowserin OnNewWindow2 olayı ile açılmaya çalışılan yeni popup sayfayı 2nci TWebBrowser nesnesi içinde güzelce gösterebiliyorum.

Kod: Tümünü seç

procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
begin
ppDisp :=  WebBrowser2.Application ;
end;

Sorun şu ;
popup içeriğini gösterdiğim WebBrowser2 bileşeni içeriğine yada herhangi bir metoduna erişmek istediğimde, her ne kadar içerik düzgünce görüntüleniyor olsa da her durumda "Could not obtain OLE Control window handle" hatası alıyorum.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen SimaWB »

Deneme fırsatım yok ama sanırım

Kod: Tümünü seç

procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
begin
  ppDisp :=  WebBrowser2.DefaultInterface;
end;
şeklinde kullanmalısınız.
There's no place like 127.0.0.1
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen vkamadan »

Merhaba @SimaWb , cevabınız için teşekkür ederim ,
fakat maalesef DefaultInterface ya da DefaultDispatch olarak denememe rağmen başarılı olamadım, sanıyorum Handle kayboluyor yeniden geçerli bir handle mı vermek gerekiyor öyle birşeyoler oluyor galiba
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen SimaWB »

İkinci webbrowser'ı çalışma zamanı oluşturmayı denediniz mi?
There's no place like 127.0.0.1
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen SimaWB »

Bu arada deneme yaptım. Ben de her iki durumda da (WebBrowser2.Application ve WebBrowser2.DefaultInterface) sorunsuz çalıştı. :shock:
There's no place like 127.0.0.1
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen vkamadan »

Çok ilginç, 2nci webBrowser ı runtime da oluşturunca sorun ortadan kalktı, teşekkür ederim.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen vkamadan »

SimaWB yazdı:Bu arada deneme yaptım. Ben de her iki durumda da (WebBrowser2.Application ve WebBrowser2.DefaultInterface) sorunsuz çalıştı. :shock:
Çalışıyor zaten fakat çalıştıktan sonra görüntülenen document üzerinde işlem yapmaya çalışınca ilgili hata oluşuyor.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen vkamadan »

Tekrar merhaba ,

Az önce sorun çözüldü derken , yeni bir form üzerine TWebBrowser attım formu çalışma anında kendim oluşturdum ve sorun olmadı , fakat formu ana form içinde bir panel i parent alacak şekilde oluşturursam herşey başa döndü sorun yeniden ortaya çıktı bu konuda bir fikriniz var mı?
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen vkamadan »

Merhaba ,
Farklı bir sorun ortaya çıktı ,
TWebBrowser üzerinden bir siteye login oluyorum, sonrasında açılan ekrandan bir linkin URL sini aynı WebBrowser a Navigate metoduyla gitmek istediğimde oturum bilgisi sonlanıyor.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen SimaWB »

vkamadan yazdı:Tekrar merhaba ,

Az önce sorun çözüldü derken , yeni bir form üzerine TWebBrowser attım formu çalışma anında kendim oluşturdum ve sorun olmadı , fakat formu ana form içinde bir panel i parent alacak şekilde oluşturursam herşey başa döndü sorun yeniden ortaya çıktı bu konuda bir fikriniz var mı?
Problem devam ediyor mu bilmiyorum ama; oluştururken Owner olarak ne seçtiniz? Panel'i hem parent hem de owner yapıp denediniz mi?
There's no place like 127.0.0.1
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: TWebBrowser OnNewWindow2 Olayı

Mesaj gönderen vkamadan »

Merhaba ,

Aynı denemeyi xe2 de yaptığımda sorun yok, d2010 da yaptığımda sorun devam ediyor , sanıyorum ilgili kısmı xe2 de yapacağım, fakat şuan devam eden asıl sorun login olunmuş sayfayı barındıran TwebBrowser nesnesine ilgili sayfayı ilgilendiren ve login olunmuş olma şartı getiren bir linkine Navigate ile gidilmek istendiğinde session kaybediliyor, sanki İE yi kapatıp yeniden açıp linki yapıştırıp devam et demişiz gibi davranıyor , oturum bilgisi kaybetmeden devam edebilmenin bir yolu varmı acaba Navigate metodu hjarici bir metoda ihtiyaç var sanıyorum.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla