Einzelnen Beitrag anzeigen

MechMac666

Registriert seit: 9. Nov 2008
95 Beiträge
 
#8

AW: Record threadsicher verwenden

  Alt 15. Mär 2021, 22:21
Also mit TSynQueue hat es super geklappt. Danke für den Tipp.

Aber ich suche noch etwas für meine Userliste.

Der Gedanke wäre eine TThreadlist welche folgendes verwaltet.
Delphi-Quellcode:
 type TUser=record
    ID:int64;
    UserName:string;
    LoginCount:integer;
 end;

Jedoch sind alle Infos die ich dazu gesehen habe mit Klassen oder Objekten gemacht.
Ich bekomme es gerade absolut nicht hin da ein Record einzufügen.
Mit einer Variablen welche auf den Record pointet klappt das einfügen.
Delphi-Quellcode:
var ptUser:^TUser;
...
List := Userlist.LockList;
List.Add(ptUser);
...
Wenn ich ptUser.UserName vorher etwas zuweise und dann über list[0] versuche das zurückzulesen, gibt es ne Schutzverletzung.
Naja, irgendwie klar, denn ptUser pointet ja nur auf den Typ.

Oder muss ich von TUser ein Array erstellen und dessen Elemente der Threadlist zuweisen?


EDIT
Habe noch etwas gefunden wonach ich zunächst "new(ptUser)" aufrufen muss.
Mir ist aber noch nicht ganz klar, wo sich das erzeugte Objekt dann befindet und wie ich es erreiche.
Vor allem wie ich dann z.B. mit List[0] wieder auf den Typ TUser komme.

Geändert von MechMac666 (15. Mär 2021 um 22:41 Uhr)
  Mit Zitat antworten Zitat