Merhaba arkadaşlar.
Çalışan bir projeden yeni bir proje oluşturdum. 1 Ana Form ve TDataModule u bırakarak diğerler formları sildim. Proje çalıştığında TDataModule önce oluşturuluyor, sonra AnaForm oluşturuluyor. AnaForm un OnCreate procedurunde bilgisayarın adını alıyor ve TDataModule un public bölümünde tanımlı TerminalAdi değişkenine aktarıyorum. debug yaptığımda değişken içerisinde aktarılan bilgisayar adı görünüyor. OnCreate paragrafının sonunda Timer çalıştırılıyor. OnTimer paragrafına geçtiğinde TDataModule.TerminalAdi boş geliyor. Aynı kod eski projede çalışıyor. Bu neden olur?
İyi çalışmalar
Değişkendeki değer kayboluyor
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Değişkendeki değer kayboluyor
creation order kontrolü yap bence, ayrıca timer ı on create yerine on showda active et. Neden timer içerisinde sürekli bilgisayar adını aldırtıyorsun? bunu bir function a çevir ve sadece gerektiğinde aldırtmak, gereksiz işlemci yükü vermemiş olursun.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Değişkendeki değer kayboluyor
tşk.
Timer içerisinde sürekli bilgisayar adını almıyorum. Oncreate de 1 defa alıp TDataModule deki (public) değişkene aktarıyorum. Oncreate in sonunda (değişkene bilgisayar adını aktardıktan sonra) timer aktif oluyor. İhtiyaç duyduğumda TDataModule deki değişkenden bilgisayar adını kullanıyorum. Sıkıntı değişkene aktardıktan sonra neden sıfırlanıyor. (debug da aktarılan değer görünüyor)?
Ayrıca Onshowda timer i aktifleştirirsem timer içerisinde formu kapatmak zorunda kaldığımda (AnaForm.Onshow tamamlanmadığından) AnaForm.Close de hata oluşuyor.
Timer içerisinde sürekli bilgisayar adını almıyorum. Oncreate de 1 defa alıp TDataModule deki (public) değişkene aktarıyorum. Oncreate in sonunda (değişkene bilgisayar adını aktardıktan sonra) timer aktif oluyor. İhtiyaç duyduğumda TDataModule deki değişkenden bilgisayar adını kullanıyorum. Sıkıntı değişkene aktardıktan sonra neden sıfırlanıyor. (debug da aktarılan değer görünüyor)?
Ayrıca Onshowda timer i aktifleştirirsem timer içerisinde formu kapatmak zorunda kaldığımda (AnaForm.Onshow tamamlanmadığından) AnaForm.Close de hata oluşuyor.
Re: Değişkendeki değer kayboluyor
Bence farkında olmadan TDataModule'un farklı bir instance ını daha oluşturuyorsun. Başlangıçla daha sonraki DataModule1 değişkeninin adres değerini karşılaştır.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)