Guest Huseyin Posted September 1, 2015 Share 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; Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted September 1, 2015 Administrators Share 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now