Das "darstellen" sollte wohl eher sowas wie "(be)arbeiten" heißen.
PS: statt über das langame
TCanvas.Pixels zu gehn, könnte man sich eventuell auch mal mit
TCanvas.Scanline beschäftigen.
Jenachdem wie langsam/schnell das "rechne" ist, könnte man sich die Threads auch sparen.
Bezüglich deinem "rechne":
- Wo hast du denn A initialisiert?
Das sollte dir der Compiler auch melden (falls man sich mal die Compilermeldungen durchliest), denn du wertest das schon aus, noch bevor A einen definierten Wert hat.
Und ohne Initialisierung sind lokale Variablen potentiell erstmal mit Zufallswerten befüllt.
oder man stellt das ein bissl um (das A erst auswerten, nachdem es berechnet wurde, bzw. gleich die Auswertung und Berechnung zusammenlegen und sich A sparen)
Delphi-Quellcode:
function WorkerThread.rechne(X_Ko, Y_Ko: double): Integer;
var
nX, nY, X, Y: double;
begin
Result := 0;
X := 0;
Y := 0;
repeat
nX := Sqr(X) - Sqr(Y) + X_Ko;
nY := 2 * X * Y + Y_Ko;
X := nX;
Y := nY;
Inc(Result);
until (Result >= 100) or (Sqr(X) + Sqr(Y) >= 4);
end;
[edit]
bissl lahm
Wird das Execute, laut Debugger, nicht sofort im ".Resume" ausgeführt, oder überhaupt nicht?
Der Thread wird (vorallem im Debugger) etwas verzägert gestartet.