Jump to content

Thread Kullanımı


Guest Huseyin
 Share

Recommended Posts

Guest Huseyin

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

  • Administrators

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...