Değişkendeki değer kayboluyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Değişkendeki değer kayboluyor

Mesaj gönderen m_ekici »

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
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Değişkendeki değer kayboluyor

Mesaj gönderen freeman35 »

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 !!!
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: Değişkendeki değer kayboluyor

Mesaj gönderen m_ekici »

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.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Değişkendeki değer kayboluyor

Mesaj gönderen csunguray »

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/)
Cevapla