Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#49

Re: lokale Variablen mit globaler Lebensdauer?

  Alt 14. Jul 2005, 18:37
Ja das war es.

Sich über diese "Konstanten" zu streiten ist schon ein bischen irrsinnig, da es im Grunde eine Design-Schwäche in der Delphi Sprache darstellt.

Es gibt Konstanten und Variablen, wie unterscheiden sie sich ?

Delphi-Quellcode:

const
  Konstante = 1;

var
  Variable: Integer;
Das sind die beiden Basiskonstrukte im ursprünglichem PASCAL. Der Unterschied besteht darin das ein Variable eine Typisierung bestitzt wohingegen eine Konstante eine Wertzuweisung haben sollte.

So, nun mit der Zeit hat Borland aber einige Neuerungen eingeführt, zb.

Delphi-Quellcode:
var
  Variable: Integer = 1;
const
  Konstante: Integer = 1;
Als erstes die Typisierten Variablen mit Vorinitialisierung und als zweites die Typisierten Konstanten mit Wertzuweisung. Worin besteht aber nun der syntaktisch funktionale Unterschied ?

Nun, während Konstanten IMMER global sind, d.h. ihre Gültigkeit ist immer global egal wo ich sie verwende können Variablen in ihrer Gültigkeit lokal beschränkt sein. Und exakt hier setzt der Design-Fehler an.

Ergo: die typisierte Konstante die modifizierbar ist ist ein Unding oder funktional eine Variable die immer global gültig sein wird.

Aber fakt ist nun mal das diese Funktuionalität existent ist, und sie zu benutzen niemals einen Fehler darstellen kann. Denn wozu existiert Funktinalität wenn man sie niemals benutzen kann, oder umgekehrt wenn über dieses Unding eine ganz spezielle Funktionalität möglich ist die sonst anders nicht realisierbar ist, warum dannnicht benutzen ? Was ist schlecht daran, warum sollte das schlechter Stil sein.

Gruß Hagen
  Mit Zitat antworten Zitat