![]() |
Array of Bytes in TThreadlist oder TStringlist speichern
hi,
möchte gerne die daten die ankommen in einen Thread abarbeiten. Dazu werde diese in einer Stringlist gespeichert. Nur wenn ich das erste element lösche meine ich das alle objekte in der stringliste gelöscht wurden, weil ich beim zweiten mal eine zugriffsverletzung bekomme.
Delphi-Quellcode:
vielleicht kann mir da jemand auf die sprünge helfen....
var
l : TStringList; ... var len : integer; bytes : TBytes; begin len := Socket.ReceiveLength; SetLength(bytes,len); Socket.ReceiveBuf(bytes[0],length(bytes)); l.add('',bytes); end; |
Re: Array of Bytes in TThreadlist oder TStringlist speichern
Hi
speicher die Daten doch in einem String. So wie Du das machst geht das nicht. Dein array of bytes ist ja nur lokal zu deiner Methode. Beispiel:
Delphi-Quellcode:
So werden die Daten in einen String der Stringliste übernommen.
var
s: string; len: integer; begin len := Socket.ReceiveLength; SetLength(s, len); Socket.ReceiveBuf(pChar(s)^,len); l.add(s); end; Gruss |
Re: Array of Bytes in TThreadlist oder TStringlist speichern
danke für den tipp.
Hast du / jemand vielleicht noch eine idee wie ich die daten dann wieder aus dem string löschen kann.
Delphi-Quellcode:
while s <> '' do
begin Move(PChar(s)^,MeinRecord,sizeof(TMeinRecord)); Delete(s,0,Sizeof(TMeinRecord)); ... |
Re: Array of Bytes in TThreadlist oder TStringlist speichern
:roll: habe es mit einem copy gemacht......
thx |
Re: Array of Bytes in TThreadlist oder TStringlist speichern
Ich find das so nicht sauber, um nicht zu sagen grauenhaft.
:wall: Definiere eine Klasse, die Deine Meßdaten aufnimmt, instantiiere ein Objekt in deiner Socket.Routine, übergib ihm die Bytes und speichere das Objekt in einer TThreadliste. |
Re: Array of Bytes in TThreadlist oder TStringlist speichern
habe es auch so gemacht. Habe die sourcen hier nur verkürzt.
Habe eine Threadklasse, der werden die daten übergeben, und dort werden die daten auch bearbeitet. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz