Forum: Algorithmen, Datenstrukturen und Klassendesign
by Uwe Raabe,
13. Mär 2014
Dazu kann ich ohne Kenntnis deines Codes nicht viel sagen.
Ich weiß auch nicht, ob du erfahren genug bist, einen Thread korrekt zu implementieren. Dein ursprünglicher Code läßt das eher zweifelhaft erscheinen. Von ProcessMessages rate ich in jedem Fall ab - das macht es definitiv nicht schneller sondern nur schwieriger die Fehler zu finden.
Als erstes müsste man wohl analysieren, wo die...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Uwe Raabe,
13. Mär 2014
Sicher - war irgendwie Unsinn:
procedure DataAvailable(const Data: string);
begin
Buffer := Buffer + Data;
while length(Buffer) > 2 do begin
UDPCLIENT.SEND(Copy(Buffer , 1, 3));
Delete(Buffer , 1, 3);
end;
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Uwe Raabe,
13. Mär 2014
Deklariere dir einen Buffer für die verbleibenden Zeichen. Dann könnte die Routine so aussehen:
var
Buffer: string;
procedure DataAvailable(const Data: string);
begin
Buffer := Buffer + Data;
while length(Buffer) > 2 do begin
UDPCLIENT.SEND(Copy(Data, 1, 3));