AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wieder ein Variablen Problem - komme nicht weiter.

Wieder ein Variablen Problem - komme nicht weiter.

Ein Thema von AlexII · begonnen am 30. Sep 2008 · letzter Beitrag vom 30. Sep 2008
Antwort Antwort
Seite 2 von 4     12 34   
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#11

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 13:49
Zitat von DeddyH:
Ich würde "cache" als Übergabeparameter definieren, dann kann m.E. nicht viel schiefgehen.
Kannst du mir das vielleicht bisschen näher erklären?
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 13:58
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?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14:03
Zitat von AlexII:
FiCountCorrect ist eine globale Variable und ist beim öffnen des Programms gleich Null.
Ja, das mag ja alles so sein, aber woher soll der Compiler wissen, ob sich die globale Variable zwischen durch nicht ändert? Dann trifft die Bedingung nämlich nicht mehr zu und dann ist die Variable undefiniert. Und auf diese Tatsache weißt dich der Compiler mit der Warnung hin.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14:03
Delphi-Quellcode:
procedure TForm1.Note(cache: real); //so muss etwas übergeben wreden, cache ist also initialisiert
var
  note: Real;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14:05
Warum ist cache dann initialisiert? Davon mal abgesehen, würde das Alex wohl komplett aus der bahn werfen, wenn er seine ganzen Code jetzt noch umbauen sollte.
Michael
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#16

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14:09
Zitat von Luckie:
Ja, das mag ja alles so sein, aber woher soll der Compiler wissen, ob sich die globale Variable zwischen durch nicht ändert? Dann trifft die Bedingung nämlich nicht mehr zu und dann ist die Variable undefiniert. Und auf diese Tatsache weißt dich der Compiler mit der Warnung hin.
Die Variable FiCountCorrect wird immer vor der NoteProcedur geändert, somit weißt jeder wie sie lautet, der Compiler sowieso nehme ich an.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#17

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14:11
Zitat von Luckie:
Davon mal abgesehen, würde das Alex wohl komplett aus der bahn werfen, wenn er seine ganzen Code jetzt noch umbauen sollte.
Ich bin schon längst aus der Bahn, verstehe die Welt nicht mehr. Ist das mit dem Label3.Caption wenigsten richtig? Dann lasse ich das so und basta.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#18

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14:12
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?
Hä? Wenn die Procedure zum zweiten mal ausgeführt wird, sind die beiden lokalen Variablen doch nicht initialisiert, also funkt da nichts !?
Woher sind die denn bitte gefüllt? Vom vorherigen Aufruf?

(siehe auch #10 von Luckie ...)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#19

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14: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
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#20

Re: Wieder ein Variablen Problem - komme nicht weiter.

  Alt 30. Sep 2008, 14:16
Zitat von jfheins:
Woher sind die denn bitte gefüllt? Vom vorherigen Aufruf?
Etwa nicht?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz