Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bestand von Variablenwerten nach schließen/öffnen einer Form (https://www.delphipraxis.net/38934-bestand-von-variablenwerten-nach-schliessen-oeffnen-einer-form.html)

Sourcemaker 26. Jan 2005 12:56


Bestand von Variablenwerten nach schließen/öffnen einer Form
 
Hi,

ich benutze gerne folgende Deklarationsmöglichkeit um sich das Zuweisen der Variable in FormCreate zu ersparen.
Delphi-Quellcode:
  public
    { Public-Deklarationen }
  end;

var
  FSBEdit: TFSBEdit;
  lActive: Boolean = False;
  lSetup : Boolean = True;

implementation

procedure TFSBEdit.Setup (Modus:Integer; nRecNo:LongInt);
begin
   //Aktionen
   lSetUp := False;
end;
Nun mußte ich feststellen das beim erneuten öffnen der Form die Variable den zuletzt erhalten Wert enthält also lSetUp ist False. Das Verhalten tritt sowohl bei einen modalen Fenster als auch bei einem MDIChild auf. Die Fenster werden jedesmal released bzw. Action=caFree aufgerufen.

Hat jemand eine schlüssige Erklärung parat ?

Grüße

Frank

Steve 26. Jan 2005 13:08

Re: Bestand von Variablenwerten nach schließen/öffnen einer
 
Hi,

Du benutzt globale Variablen, d.h. sie sind komplett unabhängig vom TForm. sollen die Variablen zum form "gehören", deklariere sie in
Code:
TFormX = CLASS(TForm)
...
private
  FMeineVariable;
end;
Gruß
Stephan :dance:

Sourcemaker 26. Jan 2005 13:43

Re: Bestand von Variablenwerten nach schließen/öffnen einer
 
Stimmt, ich benutzte dieses Verhalten sogar an anderer Stelle mit Absicht bei einer Unit die allgemeine Deklarationen enthält die programmübergreifend sichtbar seien sollen bzw. in jeder Unit/Form die sie eingebunden hat.
Ursprünglich waren diese Variablen mal zuweisbare typisierte Konstanten (ob die richtig funktioniert hatten ??)

Danke für die Erleuchtung

Frank

Robert_G 26. Jan 2005 17:01

Re: Bestand von Variablenwerten nach schließen/öffnen einer
 
Da kann ich direkt dahin verweisen.
Außerdem solltest du solchen komischen Kontrukten NIEMALS Prefixe wie ein "l" verpassen. Jeder andere würde das Ding in einer Methode für eine lokale Variable halten!
Aber da du zukünftig sowieso keine globalen Variablen benutzt ist es ja hinfällig. :zwinker:

Sourcemaker 26. Jan 2005 17:45

Re: Bestand von Variablenwerten nach schließen/öffnen einer
 
Das kleine L steht für Logical ist historisch bedingt aus der Clipperzeit.

Grüße

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:04 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 by Thomas Breitkreuz