Autor Beitrag
whitef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 202
Erhaltene Danke: 1

Windows X
Delphi XE X
BeitragVerfasst: Fr 29.05.15 11:15 
Hallo,
wie so viele andere zuvor wollte ich einen kleinen lan chat basteln.
leider hänge ich nun an der thread verarbeitung. habe mich bereits etwas eingelesen nur finde ich irgendwie nicht den "aha" effekt.
die indy demos habe ich auch benutzt und bin der meinung das diese nicht genug mit threadauslagerung gearbeitet haben. nun gut, zu meinem problem:

folgender code liegt vor:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
...
uses ... IdGlobal, IdContext, IdSync ...
...
private
      procedure ThreadMsgGet;
...
var   ThreadMsg: string;
...
procedure TFormChatServerControlPanel.IdTCPServer1Execute(AContext: TIdContext);
var
  LLine: String;
begin
  LLine := AContext.Connection.IOHandler.ReadLn(IndyTextEncoding_OSDefault);

  //msg Meldung
    ThreadMsg := TimeToStr(now) + ' - Nachricht empfangen: ' + Copy(LLine, 8, Length(LLine)-7 );
    TIdNotify.NotifyMethod( ThreadMsgGet );
    //Memo1.Lines.Add( ThreadMsg );

    AContext.Connection.IOHandler.WriteLn('msg:::OK');
  end;
end;

procedure TFormChatServerControlPanel.ThreadMsgGet;
begin
  Memo1.Lines.Add( ThreadMsg + '000');
  gbClients.Caption := 'Connected Clients (' + IntToStr(GetClientCount) + '):';
  ThreadMsg := '';
end;

end.


Bei mir im Memo erscheinen lediglich die '000', das heißt das die globale variable 'ThreadMsg' keinen inhalt hat.
gelöscht wird die variable ja erst nach der übergabe an das memo.

Weiß da jemand mehr?
ist das so schon korrekt mit der threadauslagerung?

VG