thread da çözemediğim bi hata.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

thread da çözemediğim bi hata.

Mesaj gönderen meron06 »

sel.al.arkadaşlar.jedi nin thread nesnesi ille ufak bi proje yaptım thread içine yazıdğım kodlar gayet iyi çlışıyor.delphi 7 kullanıyorum.projemden çıkarken "system error. code: 1400 geçersiz pencere işleci" diye hata lıyorum.formun onclose olayında thredi yok etmeyi denedim .bi turlü başaramadım.çalışan bi thread nasıl durdurulur.forumdaki thread larla ilgili herşeyi okudum bi türlü çözemedim arkadaşlar.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Theread'ı dışardan yok etmek yerine kendini kapatmasını sağlayabilirsin. Global bir değişkende programın kapanıp kapanmayacağı bilgisini tutup thread içinde bu değişkene bakarak döngülerde çıkarabilirsin. Böylece thread kapanmış olur.
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

mkysoft hocam transferstart diye global bi değişkenim var.eğer 1 se execute olayındaki kodlarım çalışıyor.if transferstart=0 then exit; kodunu execute olayına yazdım.formun onclose olayınada ilk önce transferstart:=0;sleep(200); dedim ama program kapanırken yine geçersiz pencere işleci hatasını alyırum .
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Hatanın nedeni belkide thread içinde oluşturduğun/eriştiğin nesneler olabilir. thread içindeki kodları iptal ederek sadece döngünün dönmesini sağlayarak bir deneme yapabilirsin.
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Kod: Tümünü seç

if transferstart=0 then terminate;
böyle dener misin? Çünkü terminate thread'i durdurken exit ise sadece prosedürden çıkmanı sağlar fakar thread çalışmaya devam eder.
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

t hex kardeş söylemiş olduğun kodu aynen uyguladım ama yine aynı hatayı alıyorum .
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

Mesaj gönderen meron06 »

hatayı buldum arkadaşlar. hepinize yardımlarınızddan dolayı teşekkür ederim.çözümü ise çok ilginç.

aslında hata thread dan kaynaklanmıyormuş.thread da visible olan bi memo nesnesi üzerinde işlemler yapıyordum.memonun visible özelliğini true yapınca sorun çözüldü.ama burda anlamadığım nokta neden memo nesnesi visible iken böyle bi hataya sebep olduğu.
Cevapla