![]() |
AW: Variable "P" ist möglicherweise nicht initialisiert worden
Das ist aber der tatsächliche Code und nicht nur ein Auszug? Wenn ja, glaube ich auch, dass der Compiler sich irrt.
|
AW: Variable "P" ist möglicherweise nicht initialisiert worden
Kann es sein weil das P in einer Schleife zugewiesen wird? Sind die Schleifenbedingungen "ungünstig" wird die Schleife ggf. nicht durchlaufen und P bleibt uninitialisiert bzw. nicht zugewiesen. :gruebel:
|
AW: Variable "P" ist möglicherweise nicht initialisiert worden
P wird in einer Scheife zugewiesen, aber innerhalb derselben auch benutzt.
Zitat:
|
AW: Variable "P" ist möglicherweise nicht initialisiert worden
Was passiert denn, wenn man P am Schleifenanfang nilt? Eigentlich sollte da dann eine andere Warnung kommen ("Auf P zugewiesener Wert wird niemals benutzt").
|
AW: Variable "P" ist möglicherweise nicht initialisiert worden
ne is nurn Auszug...
wenn ich P:= Nil setzte meckert er auch garnicht mehr.... Aber nu zu dem Externen werten, das zerbricht mir den Schädel.... Die müssen ja erstmal rein ins Programm, wobei man ja nicht weiß, wieviele das sind ! Wie verwurstet man das so, dass dann ein "vernünftiges" Signal in meiner Kompo dargestellt wird ? |
AW: Variable "P" ist möglicherweise nicht initialisiert worden
Wie sieht den CalculatePointView() aus?
|
AW: Variable "P" ist möglicherweise nicht initialisiert worden
Delphi-Quellcode:
type
TFxFunction = function(const x: Extended):Extended; TPointDynArray = Array of TPoint; . . . Function mysin(const X: Extended):Extended; // Wrapper-Funktion, benötigt für Delphi 6 um Sinus-Funktion implementieren zu können begin Result := sin(x); end; function THixHistoGraph.CalculatePointView // Berechnung der Punkte für die Funktionsdarstellung (AFunc: TFxFunction; const HistoBackround: TRect; x0, y0, dx, dy: Extended): TPointDynArray; var x, y: Extended; i : integer; begin // für jede Spalte einen Punkt SetLength(Result, HistoBackround.Right - HistoBackround.Left + 1); // Punkte berechnen x := 0; for i := Low(Result) to High(Result) do begin y := AFunc(x); y := -y; // Canvas Nullpunkt obere linke Ecke mit Y- Achse nach unten !!! y := y0 + y; // oberen Rand Addieren y := y / dy; // Skalieren Result[i].x := HistoBackround.Left + i; Result[i].Y := HistoBackround.Top + Round(y); // runden x := x + dx; end; // nächster Punkt end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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