Tuesday, February 25, 2014

.Net2.0 Uygulamalarinin .Net4.0'da Calismamasi

Merhabalar,

Oncelikle sizden cok kendimin saskinlikler icinde oldugunu belirtmeliyim. .Net teknolojilerine her daim karsit birisi oldugum biline dursun, bu konuda bir yazi yazma geregi hissedecegimi dahi tahmin etmezdim. Insanin basina her sey gelebiliyor...

Bir proje icin ufak bir "calistirilabilir uygulama"ya ihtiyac oldu. Mecburen Vusial Studio'yu kurmak zorunda kaldim. :) Uygulamada cok fazla islem olmadigindan dolayi, daha dusuk gereksinimleri olmasi amaciyla .Net2.0 kullanarak yazdim. Ancak is testlere geldiginde .Net4.0 kurulu bilgisayarlarda "Unable to find a version of the runtime to run this application." seklinde bir hata aldim. Biraz arastirmalar sonucunda .Net4.0'in geriye yonelik destek vermedigini ogrendim. (Hayir hayir, elestiri yapmayacagim!)

Cozum olarak ise App.config dosyasi olusturup, icerisine bunun .Net4.0 ile uyumlu oldugunu belirtmemiz gerekliymis. App.config dosyasinin icerigi soyle:


Bunu yaptiginizda sorunun ortadan kalkacagini umuyorum.

---

Simdir bir nokta daha var ki eger siz de "building" isleminden sonra ekstra bir dosya olmasindan sikayetteyseniz, -cok basit bir cozum olarak- WinRAR'in SFX ozelligini kullanarak tum dosyalari tek cati altinda toplayip acildiktan sonra programinizin acilmasini saglayabilirsiniz. Benim isimi gordu. :)

Tuesday, February 4, 2014

[PHP] Tek Kullanimlik Sinif Yapmak

Merhabalar,

Facebook'taki PHP grubunda birisi boyle bir istekde bulunmus. Siniftan sadece tek bir "instance" uretmek, daha sonra istenildiginde ise bir Exception vermesi isteniyordu.

PHP5.4'un nimaetlerinden traitler yardimiyla bunu hazirladim. Guzel bir ornek olacagini dusunuyorum.

Trait kullanilarak hazirlanan sinif ilk getInstance() metodu kullanildiginda sinifin bir ornegini gonderecek, bir dahaki cagirildiginda ise DisposableClassException gonderecektir. Bunu yakalamak da size kalmis. :)