Guest Huseyin Posted September 1, 2015 Posted September 1, 2015 Kolay gelsin 0.95 sürümünü kullanıyorum. Şimdi bir Thread işlemi yaptırmak istiyorum fakat, 1 Thread işlemiyor 2 Threadin içinde gerçekleşen olayda başka nese çağıramıyorum bu sorunumu nasıl çözebilirim procedure TMainForm.UniButton1Click(Sender: TObject); begin thread1 := TThread.CreateAnonymousThread(listcekme); thread1.OnTerminate :=tEnd; thread1.Start; end; buda listcekme procedure Burada "result := soap.listal('0','2005-01-01 00:00:00','2016-01-01 00:00:00','Hepsi',1,99,0,10,0,0);" satırınca CoInitialize hatası alıyorum Server Modulde true şu an procedure Tmainform.listcekme; var i : Integer; soap : XKClientSoap; result : TRESULT2; xml : IXMLDocument; resultnode : IXMLNode; rownode : IXMLNode; okunma : Integer; begin UniEdit1.Text := 'Thread Başladı'; soap := GetClientSoap(false,'',nil); result := soap.listal('0','2005-01-01 00:00:00','2016-01-01 00:00:00','Hepsi',1,99,0,10,0,0); xml := LoadXMLData(result.RESULT); resultnode := xml.ChildNodes.FindNode('NewDataSet'); UniMemo1.Lines.Clear; UniProgressBar1.Max := resultnode.ChildNodes.Count; for I :=0 to resultnode.ChildNodes.Count-1 do begin rownode :=resultnode.ChildNodes.Get(i); UniMemo1.Lines.Add('=========================================================================='); unimemo1.lines.add(rownode.ChildNodes.FindNode('ID').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('TUR').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('TARIH').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('DURUM').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('UNVAN').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('SORGULAYAN').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('TCVKNO').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('EMAILID').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('OKUNDU').Text); unimemo1.lines.add(rownode.ChildNodes.FindNode('OKUMATARIH').Text); UniMemo1.Lines.Add('=========================================================================='); UniProgressBar1.Position := UniProgressBar1.Position+1; end; Quote
Administrators Farshad Mohajeri Posted September 1, 2015 Administrators Posted September 1, 2015 Merhaba, Öncelikle 0.95 çok eski bir sürümdür ve güncellemeniz gerekiyor. Bu sürüm artık desteklenmiyor. Thread method'u içerisinde uniGUI'nin görsel bileşenlerini kullanamazsınız. (UniEdit, UniMemo vs.) Yeni sürümlerde TThreadTimer adında bir bileşen var. İlgili demoda nasıl kullanıldığı gösteriliyor. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.