Delphi TWebBrowser Emulasyonu

Merhabalar, bilindiği üzere delphi uygulamalarında ki TWebBrowser bileşeni varsayılan olarak internet explorer 6 ile çalışmaktadır. Bu yazıda sizlere kendi uygulamalarınız içerisinde ki TWebBrowser bileşenin varsayılan internet explorer sürümünü değiştirmeyi göstereceğim.

Microsoft, registry’de işletim sistemi üzerinde çalışan programların kendi içlerinde activex denetimi olarak kullandıkları browser sürümlerini emule edebileceği bir değer dizisi tutmaktadır. Bizde bu değer dizisine kendi uygulama adımızı ekleyerek hangi browser sürümünü kullanacağını söyleyebiliriz.

Regedit e girip;
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
altında sağ tıklayıp “Yeni”->“DWORD32 Bit Değer” tıkladıktan sonra Değer Adına “UygulamanızınAdı.exe” yazıp
Değer verisinede ondalıklı olarak aşağıda belirttiğim, kullanmak istediğiniz internet explorer sürümüne karşılık gelen değerlerden birini yazabilirsiniz. Bu işlemi yaptıktan sonra kendi programınızı kapatıp tekrar açmanız gerekmektedir. Program tekrar açıldığında TWebBrowser belirttiğiniz Internet Explorer sürümü ile çalışacaktır.

Internet Explorer 7: 7000
Internet Explorer 8: 8000
Internet Explorer 8 !DOCTYPE: 8888
Internet Explorer 9:9000
Internet Explorer 9 !DOCTYPE: 9999
Internet Explorer 10: 10000
Internet Explorer 10 !DOCTYPE: 10001
Internet Explorer 11: 11000
Internet Explorer 11 !DOCTYPE: 11001

MSDN

Örneğin uygulamanızın adı Tarayici.exe olsun ve bu uygulama internet explorer 11 ile çalışmak istesin. Registry kaydı aşağıdaki gibi olacaktır.

Browser Emulasyonu
Internet Explorer Emulasyonu Registry Görüntüsü

Delphi Xe2 ImageEn

Delphi Xe2 ye geçiş yapan uygulama geliştiriciler için başlangıçta bileşen(component) bulmak oldukça zor bir iş. Bunu delphi 6 den beri her yeni versiyona geçiş sırasında kendimden yola çıkarak biliyorum. Hali hazırda bulunan bir takım açık kaynak kodlu bileşenler yeni versiyon çıkar çıkmaz güncelleniyor ve pekte sıkıntı çıkmıyor geçiş işleminde. Ama ImageEn bileşeni Delphi Xe versiyonundan sonra ücretli hale getirildi. Bu yüzden artık yeni versiyonlarda bir bedel ödemeden güncelleştirme alamayacağız.

Bende bu zorluktan dolayı ImageEn 3.1.2 versiyonunu (en son yayınlanan açık kaynak kodlu versiyon) Delphi Xe2 de çalışacak şekilde düzenledim. Bileşenin çalışmasını engelleyecek yada farklı davranışlar sergileyecek değişiklikler yapmadım. Sadece yeni IDE ye kurulabilmesi için derleyici direktiflerine Xe2 nin versiyon numarasını ekledim.

Eğer sizde Xe2 için açık kaynak ImageEn versiyonu arıyorsanız, şuan doğru yerdesiniz demektir 🙂

Uyumlu olduğu Delphi versiyonları: 1, 2, 3, 4, 5, 6, 7, 8, 2006, 2007, 2009, 2010, Xe, Xe2

Kaynak kodları ve Demo uygulamaları ile birlikte indirmek için tıklayın.

Sadece kaynak kodları için tıklayın.

Delphi Xe, SubVersion 1.7 sürümüne yükseltmek

Delphi Xe ile birlikte entegre olarak gelen SubVersion sistemini yeni çıkan versiyonları ile güncelleştirmek için aşağıdaki adımları sırası ile uygulayacağız. Anlatım Delphi Xe2 ve SubVersion 1.7.2 ye göre yapılacaktır. Versiyon numaralarının pek bir önemi yok sadece dosya isimleri farklılık gösterebilir.

  • CollabNet Subversion Command-Line Client v1.7.2 (for Windows 32-bit) linkinden SubVersionu indirin. (Not: indirme işlemi için üyelik istiyor 🙁 )
  • CollabNetSubversion-client-1.7.2-1-Win32.exe’yi bilgisayarınıza kurun.
  • “C:Program Files (x86)EmbarcaderoRAD Studio9.0binsubversion” klasoru içersindeki dll dosyalarını “C:Program Files (x86)CollabNet” klasoru içersindeki aynı isimde olan dll dosyaları ile güncelleştirin.
  • Delphiyi kapatıp tekrar açın.
  • Delphi Xe2 Sub versiyon 1.7 için kullanıma hazır.

Basit bir işlem herkese kolay gelsin 🙂