![]() |
lokale Variablen mit globaler Lebensdauer?
Zitat:
Und zwar so(Delphi 6):
Delphi-Quellcode:
Für weitere Erklärungen, siehe OH.
procedure TForm1.Button1Click(Sender: TObject);
{$IFOPT J-} {$DEFINE restore_me} {$ENDIF} {$IF DEFINED (restore_me)} {$J+} {$IFEND} const D:Integer = 0; {$IF DEFINED (restore_me)} {$J-} {$UNDEF restore_me} {$IFEND} begin Inc(D); Caption := IntToStr(D); end; |
Re: lokale Variablen mit globaler Lebensdauer?
Nein, das ist ein Missbrauch von Konstanten und entspricht nicht dem Schlüsselwort static von C/C++. Das funktioniert übrigens auch nur noch, weil es Borland aus Kompatibilitätsgründen nicht rausgeschmissen hat. Als Programmierer sollte man so etwas tunlichts vermeiden, da es einfach nicht sauber programmiert ist, denke ich.
|
Re: lokale Variablen mit globaler Lebensdauer?
Ums direkt zu sagen: Lokale Variablen mit Globaler Lebensdauer sind größtmöglicher Schwachsinn. Da kannst du auch gleich globale Variablen nehmen, was genauso schwachsinnig ist ;)
|
Re: lokale Variablen mit globaler Lebensdauer?
Das ist nur Schwachsinn wenn man es wie im Titel formuliert.
Richtig heisst es globale Variablen mit lokaler Sichtbarkeit. Das ist es was C hat und Delphi nicht. Variablen in der implementation section sind aber fast genauso gut. |
Re: lokale Variablen mit globaler Lebensdauer?
Eine andere Möglichkeit um auf die Compiler Direktive WRITEABLECONST ($J) zu verzichten:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const Counter: Integer = 0; begin Inc(PInteger(@Counter)^); Caption := IntToStr(Counter); end; |
Re: lokale Variablen mit globaler Lebensdauer?
Zitat:
sniper_w: dein Quellcode macht Probleme wenn 'restore_me' vorher bereits definiert wurde... |
Re: lokale Variablen mit globaler Lebensdauer?
Zitat:
|
Re: lokale Variablen mit globaler Lebensdauer?
Mal ne Frage: Zu was brauche ich das?! Ich kann in Delphi doch globale und lokale Variablen festlegen wie ich will und ich weiß doch von vorne rein, was global und lokal sein soll?! Was bringt mir das dann?
|
Re: lokale Variablen mit globaler Lebensdauer?
Zitat:
Zitat:
|
Re: lokale Variablen mit globaler Lebensdauer?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 Uhr. |
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