Merhabalar,
Benim 2 tane sorunum var.
1.si şu: thread oluşturuyorum. fakat thread içinde nasıl fonksiyon kullanırım?
mythread : class(tthread)
private
protected
procedure Execute; override;
end;
ile oluşturuyorum. Execute prosedürü ile başlıyor. ben bunun olmamasını istiyorum. yani threadı çalıştırınca bekleyecek, ve benim istediğim bi fonksiyonu çalıştıracak. Tabi thread içinde yine.
2.si ise: hani visual basicde me.caption gibisinden bi kod vardı, bulunulan formun özelliklerine erişmek için. Delphidede böyle bişey var mı acaba? veya buna benzer bişey yapılabilir mi?
Teşekkürler
Threadda fonksiyon kullanma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
1. yi tam olarak anlayamadım..
gibi çağırabilirsin.
2. Self
Kod: Tümünü seç
mythread : class(tthread)
private
protected
procedure Execute; override;
function myfunc : Integer;
end;
....
....
procedure mythread.Execute; override;
var
x : Integer;
begin
x := myfunc;
end;
2. Self
Ben anlatamadım 1.yi.
İstediğim şey şu. mesela bir butona basılınca threaddaki fonksiyonum çalışsın ve yollayacağım değere göre işlem yapsın.
2.yi dediğin gibi kullandım. Ama ben bunu thread içinde kullanmak istiyorum fakat formun adı yerine kullanamadım. bi çözümü var mı? formun adını yazmadan thread içinden memo vs gibi bileşenlere ulaşmak mümkün mü?
Tekrar teşekkürler
İstediğim şey şu. mesela bir butona basılınca threaddaki fonksiyonum çalışsın ve yollayacağım değere göre işlem yapsın.
2.yi dediğin gibi kullandım. Ama ben bunu thread içinde kullanmak istiyorum fakat formun adı yerine kullanamadım. bi çözümü var mı? formun adını yazmadan thread içinden memo vs gibi bileşenlere ulaşmak mümkün mü?
Tekrar teşekkürler
Bildiğim kadarıyla...
Parametre geçirme ve döndürme işlemlerini Global değişkenler kullanarak yada form üzerindeki bileşenlere ulaşarak yapabilirsin..
http://www.ibrtses.com/delphi/threads.html
Self ile o an içinde bulunduğun class a ait method ve özellikleri alabilirsin.
Ama Thread içinde illa form ismi kullanmak istemiyorum dersen yine Global bir TForm değişkeni kullanabilirsin.
Parametre geçirme ve döndürme işlemlerini Global değişkenler kullanarak yada form üzerindeki bileşenlere ulaşarak yapabilirsin..
http://www.ibrtses.com/delphi/threads.html
Self ile o an içinde bulunduğun class a ait method ve özellikleri alabilirsin.
Ama Thread içinde illa form ismi kullanmak istemiyorum dersen yine Global bir TForm değişkeni kullanabilirsin.
Görsel olmayan global değişkenlere thread içinden ulaşılabilir. Görsel olan değişken mi desem nesnelere erişmek biraz problemli.
formun caption'ı olsun örnek.
Therad çağırlırken bir tform cinsinden parmaetre gönderilir, thread içinde nesnenin değiştirmek istediğimiz türünden bir değişken tanımlanır burada string, thread excute edildiğinde bu stringe bir değer atanır, syncronize metodu kullanılarak formun caption özelliği stirnge eşitlenir.
Kolay Gelsin...
formun caption'ı olsun örnek.
Therad çağırlırken bir tform cinsinden parmaetre gönderilir, thread içinde nesnenin değiştirmek istediğimiz türünden bir değişken tanımlanır burada string, thread excute edildiğinde bu stringe bir değer atanır, syncronize metodu kullanılarak formun caption özelliği stirnge eşitlenir.
Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned

Ez cüdâyîhâ şikâyet mîküned

Sen thread'i anlamamışsın. Biraz daha çalışma yap.KarizMan yazdı:Ben anlatamadım 1.yi.
İstediğim şey şu. mesela bir butona basılınca threaddaki fonksiyonum çalışsın ve yollayacağım değere göre işlem yapsın.
Eğer thread oluşturulduğunda çalışmasın istersen TThread.Create(True) ile suspended konuma getirirsin. Resume methodu ile de Thread'i başlatırsın.
Thread'e kafana göre fonksiyon ekleyip. Şimdi bu çalışsın şimdi şu diyemezsin. Çünkü her thread'in tek execute'u vardır. Yani her farklı thread fonksiyonun için farklı bir thread sınıfı türetmen gerekir.
Böyle muğlak ifadelerle anlatmak yerine, ne yapmak istiyorsun? programın nedir? bunu yazarsan daha fazla şey aktarabilirim.