Thread içinde form yaratmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Thread içinde form yaratmak
Merabalar Thread içersinde yarattigim formlar Show edildkten sonra anında yok oluyor Hide oluyor mu diye kontrol koyuyorum ama hide da edilmiyor ustelik yeniden yaratilmaya calisrken ki eger zaten yaratilmissa tekrar yaratma kismindan zaten yaratildi olarak geciyor
Sevgi , Saygi , Hurmet
Sevgi , Saygi , Hurmet
Merhaba,
Delphi'nin çoğu görsel nesnesi thread uyumlu değildir.
Tthread nesnesi kullanıyorsanız, Synchronize fonksiyonuyla bu işlemleri yapın. Synchronize'a verdiğin procedure main thread'de çalıştırılır. Böylelikle thread uyumsuz nesnelerin çıkartacağı aksaklıklar giderilmiş olur.
Delphi'nin çoğu görsel nesnesi thread uyumlu değildir.
Tthread nesnesi kullanıyorsanız, Synchronize fonksiyonuyla bu işlemleri yapın. Synchronize'a verdiğin procedure main thread'de çalıştırılır. Böylelikle thread uyumsuz nesnelerin çıkartacağı aksaklıklar giderilmiş olur.
Kod: Tümünü seç
Procedure Tthread1.FormCreate;
begin
Application.createform(Tform1, Formnesnem);
end;
Procedure Tthread1.Formshow;
begin
Formnesnem.show;
end;
....
İhtiyacın olduğu yerde :
synchronize(FormCreate);
veya
synchronize(FormShow);
şeklinde kullanabilirsiniz.
Procedure Tthread1.FormCreate;
begin
Application.createform(Tform1, Formnesnem);
end;
Procedure Tthread1.Formshow;
begin
Formnesnem.show;
end;
....
İhtiyacın olduğu yerde :
synchronize(FormCreate);
veya
synchronize(FormShow);
şeklinde kullanabilirsiniz.
evet bende aynen bu dedigin gibi yapiyorum ama neticede form gorunup kayboluyor..
Neden form kullanmak gerektigime gelince projem 15 vcl formlu dllden olusuyor bu dlli tetikleyen tek bir exe var ve bi form uzerinde bi query sonucu beklenirken ki duruma gore bu 2-3 dakika surebiliyor diger modulleri kullanamiyor. Ve her formu duzenleyip uzun zaman alacak kısımları ayıramam cunku 1319 form var bunun yerine tetiklerken formu ayri kanalda yaratmayi dusundum
Sevgi, saygı, hürmet
begin
Application.createform(Tform1, Formnesnem);
end;
Procedure Tthread1.Formshow;
begin
Formnesnem.show;
end;
....
İhtiyacın olduğu yerde :
synchronize(FormCreate);
veya
synchronize(FormShow);
şeklinde kullanabilirsiniz.
evet bende aynen bu dedigin gibi yapiyorum ama neticede form gorunup kayboluyor..
Neden form kullanmak gerektigime gelince projem 15 vcl formlu dllden olusuyor bu dlli tetikleyen tek bir exe var ve bi form uzerinde bi query sonucu beklenirken ki duruma gore bu 2-3 dakika surebiliyor diger modulleri kullanamiyor. Ve her formu duzenleyip uzun zaman alacak kısımları ayıramam cunku 1319 form var bunun yerine tetiklerken formu ayri kanalda yaratmayi dusundum
Sevgi, saygı, hürmet
duzelmesine duzeldi ama eskisi gibi tek kanal gibi oluo yani bi form ile is bitmeden digerine zaten gecemiyorsun modal yapinca
ama thread nesnemi yaratip yapinca oldu yani with TMyThread.Create degilde tanimlamis oldugum bir thread objesi yapiipo ondan thread olusturdugumda sorun olmadi fekat
simdi bi formdaki uzun suren raporu tikladigimda yine baska biyeri kullanmiorum query sonucu donene dek ilginc degil mi
===============
Sevgi, Saygı, Hürmet
İnsanları en cok yamyamlar sever....
ama thread nesnemi yaratip yapinca oldu yani with TMyThread.Create degilde tanimlamis oldugum bir thread objesi yapiipo ondan thread olusturdugumda sorun olmadi fekat
simdi bi formdaki uzun suren raporu tikladigimda yine baska biyeri kullanmiorum query sonucu donene dek ilginc degil mi
===============
Sevgi, Saygı, Hürmet
İnsanları en cok yamyamlar sever....
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08