Delphi button disable olmuyor.

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
dameon
Üye
Mesajlar: 37
Kayıt: 04 Kas 2005 07:54

Delphi button disable olmuyor.

Mesaj gönderen dameon »

Benim web sitemde kullanıcıların direkt olarak webmaster'a mail atabilmesi için bölüm yaptım , kod düzgün çalışıyor.
Gönder butonuna tıklayınca aşağıda durum çubuğunda ilerleme başlıyor ama bazı kullanıcılar bunu farketmediği için bir kaç defa daha butona tıklıyorlar.Böylece bana aynı mesajdan birkaç tane geliyor.Ben de kodun üstüne ve altına ;

TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
button1.enabled:=false;
....Mail gönderme kodları......
button1.enabled:=true;

yaptım fakat işlem başladığı için button disable olmuyor.Eskiden de Delphi 6'da yoğun bi işlem sırasında kod çalışmıyordu , bu sorunu nasıl çözerim , şimdiden teşekkür ederim.
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

hocam o kod server de çalışır.servere gitmediği için disable olmaz.java script ile yapmalısın gizleme olayını.kolay gelsin.
Kullanıcı avatarı
dameon
Üye
Mesajlar: 37
Kayıt: 04 Kas 2005 07:54

Mesaj gönderen dameon »

Arkadaşım sağol verdiğin bilgi için fakat benim yazdığım kod , code-behind dosyasında ve HTML button kullanmıyorum , normal Web control'den button kullanıyorum.
ASPX dosya içindeki buton kodu şöyle :

Kod: Tümünü seç

<asp:Button id="Button1"
          style="Z-INDEX: 12; LEFT: 22px; POSITION: absolute; TOP: 334px"
          runat="server" text="Gönder"></asp:Button>
Kod içinde de gördüğün üzere runat="server" olarak işaretli.
Delphi 2005 kullanıyorum , bir sürü yöntem denedim olmuyor.

Kod: Tümünü seç

button1.enabled:=false; 
yaptığım halde bu kodu görmüyor.
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

http://www.codeproject.com/aspnet/Click ... ontrol.asp çevirebilirseniz aradığınız bu olsa gerek
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

sevgili dameon.
bu kodlar serverde çalışır.senin o yazdığın kodların çalışması için sayfanın servere gidip çalışıp gelmesi gerekir.yani sayfa gitmeden o dediğini yapamazsın.
Kullanıcı avatarı
dameon
Üye
Mesajlar: 37
Kayıt: 04 Kas 2005 07:54

Mesaj gönderen dameon »

Adem arkadaşım , kusura bakma , senin dediklerin üzerinde düşündüm ve kafamda clint-server haberleşmesini iyice canlandırınca sana hak verdim. % 100 haklısın.Bizim buton tıklanınca server'a gidiyor işlenmek için.Tabii ki işlense bile mail kodları çalıştırılıyor , ardından buton tekrar aktif hale gelip kullanıcıya gönderiliyor.Bu arada kullanıcının eski ekranında buton halen aktif durumda :)

FAOSoft ayrıca sana da teşekkür ederim , tam benim istediğim konu ile ilgili link vermişsin , linkteki programcı da aynı sorundan muzdaripmiş , inşallah Delphi'ye çevirip çalıştırınca burada yayınlayacağım...
Kullanıcı avatarı
dameon
Üye
Mesajlar: 37
Kayıt: 04 Kas 2005 07:54

Mesaj gönderen dameon »

FAOsoft , verdiğin örnek VB'de yazılmış ve bana çok karışık geldi.Adam buttonu direkt kullanmamış başka sınıftan oluşturmuş.O yüzden şimdilik bir işlem yapamıyorum bu durum ile ilgili.Sanırım ASP.NET 2.0'da bu iş için bir fonksiyon varmış ama ben 1.1 kullanıyorum.

Neyse bekleyeceğiz...
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

hocam oraya sen bir splash form koy.bak bir tane var free(buysbox) diye bir nesne.codeproject de var.sen butona bastığında o çalışıyor sayfayı direk pasif ediyor.işleminiz yapılıyor diyor.sen onu kullan işini görürür.
kolay gelsin.
Kullanıcı avatarı
dameon
Üye
Mesajlar: 37
Kayıt: 04 Kas 2005 07:54

Mesaj gönderen dameon »

Adem arkadaşım çok sağolasın bu konuyla yardımlarından dolayı , busybox bana çok karışık geldi , bende bu arada başka bir basit kod buldum.Siteme uyguladım , güzel çalışıyor.Forum üyelerine de lazım olur diye linkini veriyorum.

http://www.4guysfromrolla.com/webtech/100406-1.shtml


Not : Busybox kelimesini senin mesajından copy-paste yaptım , Google bir türlü bulmuyor , sonra senin mesajında buysbox yazılı olduğunu gördüm , 5 dakika sırf bu iş için uğraştım , keşke elle yazsaydım dedim :) :) :)
Cevapla