Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Variable "P" ist möglicherweise nicht initialisiert worden (https://www.delphipraxis.net/184409-variable-p-ist-moeglicherweise-nicht-initialisiert-worden.html)

DeddyH 24. Mär 2015 10:27

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.

haentschman 24. Mär 2015 10:45

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:

DeddyH 24. Mär 2015 10:48

AW: Variable "P" ist möglicherweise nicht initialisiert worden
 
P wird in einer Scheife zugewiesen, aber innerhalb derselben auch benutzt.
Zitat:

Delphi-Quellcode:
for i:= round(ViewXNominalMin) to round(ViewXNominalMax - 1) do
   begin
      ...
      P := CalculatePointView(mySin, HistoBackround, x0, y0, dx, dy);
      ...
      DrawPointView(Canvas, HistoBackround, P); //HIER DIE FEHLERMELDUNG
   end;


DeddyH 24. Mär 2015 10:52

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").

Chris211183 24. Mär 2015 11:02

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 ?

mkinzler 24. Mär 2015 11:29

AW: Variable "P" ist möglicherweise nicht initialisiert worden
 
Wie sieht den CalculatePointView() aus?

Chris211183 24. Mär 2015 11:33

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.
Seite 2 von 2     12   

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