Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.05.17 19:30 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20442
Erhaltene Danke: 2261

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 13.05.17 19:47 
Wenn Du die Funktion mit denselben Werten aufrufen willst, wie wenn Du die Variablen gar nicht zugewiesen hast, sollte sowas richtig sein.
ausblenden Delphi-Quelltext
1:
2:
i := Default(Integer);
p := Default(PChar);

Ansonsten hängt von der Funktion "Beispiel" ab, welche Werte im Aufruf Sinn machen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.05.17 22:18 
- Nachträglich durch die Entwickler-Ecke gelöscht -
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 403
Erhaltene Danke: 97

Win 7
D6 Prof, XE2 Prof
BeitragVerfasst: Sa 13.05.17 22:28 
ich verstehe das Problem im Augenblick nicht,
vielleicht übersehe ich ja was.

Ich halte fest:
Im konkretisierten Beispiel (Lazarus) erfolgt kein Warnhinweis wenn "i:=0" nicht auskommentiert ist,
wenn die Auskommentierung da ist erfolgt Hinweis daß i nicht verwendet wird?

Da hat Lazarus aber doch recht finde ich.

Mit Auskommentierung ist i beim Aufruf der Prozedur "beispiel" undefiniert. Das stört ja nicht.
Ob "beispiel" nun den Wert von i ändert oder nicht ist unerheblich, da ja nach dem Aufruf von "beispiel"
auf das i nicht zugegriffen wird.
Also ist i nicht verwendet hier. -> da hat Lazarus doch korrekt gemeckert oder?

Wenn Du die Auskommentierung wegläßt gibt es andererseits keine Warnung mehr, denn
i wird ja verwendet nachdem der Wert 0 zugewiesen wurde: Und zwar als Parameter welcher
"Beispiel" mitgegeben wird.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18734
Erhaltene Danke: 1631

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 13.05.17 22:35 
Ich finde das in diesem Fall sehr einfach. Wenn die Parameter nicht immer benötigt werden, dann kannst du doch einfach eine overloaded Methode erstellen, in der die Parameter nicht vorhanden sind. Das hat den Vorteil, dass du die Variablen auch gar nicht erst lokal deklarieren musst um die Funktion aufzurufen.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.05.17 22:43 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18734
Erhaltene Danke: 1631

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 13.05.17 23:16 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Ginge es überhaupt, dass man dem var Parameter etwas mitgibt, ohne eine Variable dafür zu verwenden?
Nein, das meinte ich ja mit der lokalen Variable, die nur durch eine Überladung nicht zum Aufruf benötigt wird.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.05.17 23:23 
- Nachträglich durch die Entwickler-Ecke gelöscht -