Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi "Threadliste" nach FillChar leer? (https://www.delphipraxis.net/117228-threadliste-nach-fillchar-leer.html)

xZise 14. Jul 2008 15:08


"Threadliste" nach FillChar leer?
 
Hallo DP,
ich habe folgenden Code:
Delphi-Quellcode:
FillChar(FValues, Length(FValues), 0);
for i := 0 to High(FThreads) do
 ...
Aber seltsamerweise: Wenn ich "FillChar" nach der Schleife ausführe, führt er die Schleife aus. Irgendwie scheint mir FillChar das FThreads array zu zerhauen.

MfG
xZise

nicodex 14. Jul 2008 15:28

Re: "Threadliste" nach FillChar leer?
 
Meinstest du:
Delphi-Quellcode:
FillChar(FValues[Low(FValues)], Length(FValues), 0)
?
Wenn sich in FValues "Objekte" (im weitesten Sinne) oder Interfaces (in diesem Falle würde man wohl TInterfaceList verwenden) befinden, dann halte ich die Verwendung von FillChar für bedenklich.

xZise 14. Jul 2008 15:30

Re: "Threadliste" nach FillChar leer?
 
Argh ... Na klar ... (schon lange nicht mehr genutzt).

Es handelt sich um eine Integerliste.

MfG
xZise

Apollonius 14. Jul 2008 15:31

Re: "Threadliste" nach FillChar leer?
 
Dann reicht Length(List) aber nicht aus.

nicodex 14. Jul 2008 15:36

Re: "Threadliste" nach FillChar leer?
 
Zitat:

Zitat von Apollonius
Dann reicht Length(List) aber nicht aus.

Jupp, mein Fehler. Man möge mir den Flüchtigkeitsfehler verzeihen :)
Delphi-Quellcode:
Length(FValues) * SizeOf(FValues[Low(FValues)])

Namenloser 14. Jul 2008 16:08

Re: "Threadliste" nach FillChar leer?
 
Zitat:

Zitat von nicodex
Meinstest du:
Delphi-Quellcode:
FillChar(FValues[Low(FValues)], Length(FValues), 0)
?
Wenn sich in FValues "Objekte" (im weitesten Sinne) oder Interfaces (in diesem Falle würde man wohl TInterfaceList verwenden) befinden, dann halte ich die Verwendung von FillChar für bedenklich.

Müsste es nicht
Code:
FillChar([color=#ff0000][b]@[/b][/color]FValues[Low(FValues)],...
heißen?

Apollonius 14. Jul 2008 16:10

Re: "Threadliste" nach FillChar leer?
 
Du verwechselst FillChar und ZeroMemory. Bei FillChar ist der erste Parameter nicht typisiert. Die Adresse wird implizit vom Compiler genommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz