Autor Beitrag
Daniel_100
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 63

Win XP
D3 Prof, D6 Enterprise
BeitragVerfasst: Sa 24.04.04 23:43 
Hallo!

Kann man Variablen, die für das gesamte Projekt gelten, erstellen, so dass man in jeder Form dieselbe Variable nutzen kann?

Danke

Daniel


Moderiert von user profile icontommie-lie: Topic verschoben
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Sa 24.04.04 23:45 
diese Frage kam schon mehrmals in den letzten Tagen :roll:
du musst die entsprechende Variable im PublicTeil deiner Form deklarieren und kannst dann von den anderen Units aus darauf über Form1.variablenname zugreifen...
(Form1 durch Formnamen ersetzen)
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: So 25.04.04 15:21 
Alternativ geht's auch mit einer globalen Variable, die sind eigentlich dafür gemacht worden. Als Feld einer Form würde ich es nur machen,w enn es wirklcih direkt mit der Form zusammenhängt.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
unit Unit1;

interface

uses
  {...}

type
  {...}
var
  {...}
  <span style="color: red">meine_globale_variable: TMeinTyp;</span>


implementation

{$R *.dfm}

{...}

end.
Und in jeder Unit, in der du "meine_globale_variable" benutzen willst, musst du oben unter "uses" die entsprechende Unit einfügen, in diesem Fall ist es "Unit1".

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: So 25.04.04 16:20 
isch aber nicht schööön.
Die klassische OOP würde empfehlen, dass alle zu nutzenden Variablen gekapselt sein müssen.
Also, wenn dein Projekt zum Beispiel aus 3 Forms besteht:
1. Schritt
Ableitung einer neuen Klasse von TForm
2. Schritt
Ergänzung dieser Ableitung um die gewünschten Inhalte (z.b. Variablen)
Ergänzung um Sicherung und Herstellung der Variablen (z.b. in eine INI Datei/Registry schreiben)
3. und folgender Schritt
alle "richtigen" Forms werden aus dieser Klasse abgeleitet.


grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: So 25.04.04 22:03 
MSCH hat folgendes geschrieben:
isch aber nicht schööön.
Die klassische OOP würde empfehlen, dass alle zu nutzenden Variablen gekapselt sein müssen.
Das versuchte ich mit dem Satz
tommie-lie hat folgendes geschrieben:
Als Feld einer Form würde ich es nur machen,w enn es wirklcih direkt mit der Form zusammenhängt.
genauer zu erläutern.
Denn es spricht genau gegen den Gedanken der OOP, einfach sämtliche Variablen in Klassen zu verfrachten, die man gerade so findet. Wenn, dann müsste man es in TApplication machen, aber nicht in TForm! Oder man müsste eine neue Klasse erzeugen, die sämtliche Variablen enthält, die global im Projekt verwendet werden, sozusagen ein Container, in den auch Form1 und sämtliche anderen Objektinstanzen rein müssten, denn Forumlare werden auch als globale Variablen deklariert.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert