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 32 33 34 35 36 37 38 39 40 41 42
|
Task := TTask.Create(
procedure
begin
s := IdHTTP1.Get('requête_php');
var JSon := TJSonObject.ParseJSONValue(s);
var L := TStringList.Create;
for I := 0 to TJSONArray(JSon).Count-1 do
begin
// récupération des données
TJSONArray(JSon)[i].TryGetValue<string>('id_commande', id_commande);
// ajout dans listbox
L.(id_commande);
end;
TThread.Synchronize(TThread.Current,
procedure
begin
FList.Free; // FList est une TStringList, membre de Form1
FList := L; // je lui donne ma nouvelle liste (qu'il ne faut donc pas détruire ici)
ListBox1.Count := L.Count; // mise à jour du Coun
ListBox1.Invalidate; // nécessaire si le Count n'a pas changé
end);
end);
aTask.Start;
...
procedure TForm1.ListBox1Data(Control: TWinControl; Index: Integer;
var Data: string);
begin
Data = FList[Index]; // correspondance entre ListBox1 et FList
end; |
Partager