Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Globale Variablen (https://www.delphipraxis.net/3407-globale-variablen.html)

freakTAB 11. Mär 2003 08:37


Globale Variablen
 
Mal ne ganz doofe Frage :

Ich hab ein Programm welches mit einer ziemlich grossen und komplizierten Datenstruktur arbeitet, die ich im Moment noch in jedem Formular einzeln neu einlese.

Wo kann ich diese definieren um sie für alle Formulare verfügbar zu halten, so dass ich sie nur einmal einlesen muss?

Sharky 11. Mär 2003 09:15

Re: Globale Variablen
 
Zitat:

Zitat von freakTAB
Wo kann ich diese definieren um sie für alle Formulare verfügbar zu halten, so dass ich sie nur einmal einlesen muss?

Hai,

haue doch alle "Globale" Variablen in eine eigene Unit und schreibe diese dann in die USES-Klausel der Units in der Du sie brauchst.

APP 11. Mär 2003 09:19

Hallo,
ich mache mir eine Unit für meine globalen Variablen:

Delphi-Quellcode:
UNIT FlappGlobal;

INTERFACE

USES      
  SysUtils,    // probiere ob Du diese Units benötigst, ich habe...
  Forms;       // ...mehr in als nur Variablen in dieser Unit!

VAR
  INI_BTN_EMAIL              : Boolean;
  INI_BTN_COPY_TO_CLIPPBRD   : Boolean;
  INI_BTN_SAVE               : Boolean;
  INI_AUTO_EMAIL             : Boolean;
  ...
binde diese Unit in alle anderen ein, wo Du die globale Var's benötigst.

freakTAB 11. Mär 2003 09:43

Klar ! :wall: war mal wieder zu blind die einfachste Lösung zu sehen - danke

Touchdown 11. Mär 2003 21:51

Keine schöne Lösung. Ich würde eine Klasse entwerfen mit den gewünschten Variablen. Die Instanz der Klasse public deklarieren und einusen wo nötig.

Ich weiss es nicht mehr genau, aber vom Speicherbedarf sollte meine Variante auch besser sein. Auf jeden Fall sollte man globale Variablen vermeiden, auch die von Delphi angelegten globalen Variablen (Form2 : TForm2 z.B.) sollte man löschen und lokal deklarieren (nicht immer möglich und sinnvoll aber meistens).


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 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