Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#19

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 15:15
Hallo,
Zitat von AlexII:
FiCountCorrect ist eine globale Variable und ist beim öffnen des Programms gleich Null. Somit wird die vierte Bedienung erfüllt, note auf 6 gesetzt und in der vorletzten Zeile wird cache auf 6 gesetzt. Wenn die Procedur das nächste mal ausgeführt wird ist FiCountCorrect=1 und die allerletzte Anweisung ist dran, und sie muss eigentlich funken, da beide Variablen schon gefüllt sind.

Oder spinne ich schon?
der Compiler weiss nicht, dass FiCountCorrect = 0, was ist denn, wenn FiCountCorrect = 42 (warum auch immer).
Der Compiler weist ja auch "nur" darauf hin, dass cache eventuell nicht initialisiert ist, er weist darauf hin, dass es Situationen geben kann, in denen cache nicht initialisiert ist. Bei den von Dir verwendeten (vermuteten) Werten ist cache halt initialisiert (Zufall?).

Bau doch am Anfang einfach direkt hinter dem ersten begin

cache := StrToFloat(Label3.Caption); ein.
Zitat von AlexII:
Die Variable FiCountCorrect wird immer vor der NoteProcedur geändert, somit weißt jeder wie sie lautet, der Compiler sowieso nehme ich an.
Irrtum, der Compiler muss davon ausgehen, dass die Funktion auch noch an jeder beliebigen anderen Stelle im Programm eingesetzt werden kann. Er betrachtet die Funktion absolut losgelöst von dem sie umgebenden Code.

Stephan
  Mit Zitat antworten Zitat