Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Potenzberechnung mit Delphi (https://www.delphipraxis.net/139592-potenzberechnung-mit-delphi.html)

BAMatze 1. Sep 2009 08:54

Re: Potenzberechnung mit Delphi
 
himitsu hat Recht, du solltest das irgendwie übergeben an den "Rest" des Programmes, also entweder eine globale Variable:

Delphi-Quellcode:
// irgendwo im Interface-Teile

var Ergebnis: real;

// irgendwo zur gleichen Zeit im Implementations-Teil:
procedure Irgendwas;
begin
  Ergebnis:=Power(2,3);
end;
oder vieleicht eine Funktion draus machen:

Delphi-Quellcode:
// irgendwo im Interface-Teile

var Ergebnis: real;

// und dann im Implementations-Teil:

function Irgendwas: real;
begin
  result:=Power(2,3);
end;
oder wenn es variabel sein soll:

Delphi-Quellcode:
// irgendwo im Interface-Teile

var Ergebnis: real;

// und dann im Implementations-Teil:
function Irgendwas(iBasis, iPotenz: integer): real;
begin
  result:=Power(iBasis,iPotzenz);
end;

//irgendwo zur gleichen Zeit im Quellcode:

begin
  ...
  Ergebnis := irgendwas(2,3);
  ...
end;

Optiplex 1. Sep 2009 11:33

Re: Potenzberechnung mit Delphi
 
Zitat:

Zitat von himitsu
Ergebnis wird nicht verwendet und daher vom Compiler entfernt ... heißt, die Variable gibt es nach der Zuweisung vermutlich nicht mehr (Codeoptimierungen halt) und der Debugger ließt was "Falsches" aus :stupid:

Danke Himitsu; BAMatze, für diese Erläuterungen. Das kann natürlich sein, denn ich hatte einen Breakpunkt gesetzt und die Variable überwacht, um zu sehen ob aus dieser Berechnung das richtige Ergebnis kommt. Als das nicht der Fall war habe ich probiert und probiert und probiert, was mich stutzig gemacht hat, war die Tatsache ,dass das Ergebnis immer diese 3, irgendwas war.

Gruß Dieter

himitsu 1. Sep 2009 11:47

Re: Potenzberechnung mit Delphi
 
Zitat:

Zitat von Optiplex
Als das nicht der Fall war habe ich probiert und probiert und probiert, was mich stutzig gemacht hat, war die Tatsache ,dass das Ergebnis immer diese 3, irgendwas war.

Da wurde wohl einfach rein zufällig genau das "selbe andere Wasauchimmer" an der Stelle gepeichert, wo mal deine Variable war (im Stack oder einem Register .. wer weiß wo Delphi deine Variable gespeichert hat, aber vermutlich im Register und davon gibt es nur vier, weswegen die schnell mal mit was Anderem überschrieben werden)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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