AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

globale Variablen

Offene Frage von "AlexanderBrade"
Ein Thema von AlexanderBrade · begonnen am 15. Feb 2009 · letzter Beitrag vom 16. Feb 2009
Antwort Antwort
Seite 1 von 3  1 23      
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#1

globale Variablen

  Alt 15. Feb 2009, 11:52
Jetzt hab ich eine ganz banale FRage, aber irgendwie komme ich trotzdem nicht voran:

Wenn ich im Formular1 die Variable sp auf 2 setze, wie schaffe ich es, dass er sich das bis zum 7.Formular "merkt".
D.h. ich habe die Variable in beiden FOrmularen global(also 2x) definiert, ist das der Fehler, denn normalerweise verschwindet doch keine Varibale aus dem Speicher?!?

Vielen Dank im voraus.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

Re: globale Variablen

  Alt 15. Feb 2009, 11:55
Ganz allgemein sollte man keine globalen Variablen verwenden, wenn es nicht notwendig ist. Aber versuch mal, mittelsUnitname.Variablenname zuzugreifen, damit Delphi genau weiß, welche gemeint ist. Voraussetzung ist allerdings, dass die Variable im interface- und nicht im implementation-Abschnitt deklariert wurde.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: globale Variablen

  Alt 15. Feb 2009, 11:56
Hallo,

ja das ist der Fehler. Du darfst sie nicht 2 Mal deklarieren.
Wenn du die Variable bei "var Form1: TForm" deklarierst und die Unit1 in Unit7 über die "uses" einbindest, müsstest du die Variable nutzen können. Du kannst sie aber auch unter "public" von Unit1 deklarieren und über "Form1.Variable" im Unit7 darauf zugreifen, wenn die Unit dort eingebunden wurde.
Ich hoffe, ich erzähle gerade keinen Mist.

Grüße, Matze
  Mit Zitat antworten Zitat
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#4

Re: globale Variablen

  Alt 15. Feb 2009, 11:59
wenn sie im interface teil stehen soll wo muss sie dann deklariert werden?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#5

Re: globale Variablen

  Alt 15. Feb 2009, 12:19
Unter var
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
AlexanderBrade

Registriert seit: 14. Dez 2008
189 Beiträge
 
Delphi 2005 Personal
 
#6

Re: globale Variablen

  Alt 15. Feb 2009, 12:58
Wenn ich das mache, sagt der Compiler in Form7 bei der Varibale, z.B. form1.sp undefinierter Bezeichner, unter public nimmt er es, liest die Variable aber auch nicht richtig aus!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#7

Re: globale Variablen

  Alt 15. Feb 2009, 13:06
Unitname, nicht Formname, Du musst schon genau lesen, was wir hier schreiben.

[edit] Wobei es schon besser wäre, Properties zu definieren, da warst Du schon auf einem guten Weg. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

Re: globale Variablen

  Alt 15. Feb 2009, 13:46
Also wenn ich globale Variablen brauche ... dann packe ich die mir in eine Klasse in einer eigenen Unit.

Diese Unit zu jeder anderen Unit hinzugefügt und gut ist ...

Damit ists global und trotzdem OOP

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#9

Re: globale Variablen

  Alt 15. Feb 2009, 13:48
Aber keine globale Variable mehr im eigentlichen Sinne. OK, die Klasseninstanz könnte man dann als globale Variable definieren
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: globale Variablen

  Alt 15. Feb 2009, 14:37
genau so
Delphi-Quellcode:
unit GlobalData;

interface

type
  TGlobalData = class
  ...
  end;

var
  MyGlobalData : TGlobalData;

implementation

...

initialization

  MyGlobalData := TGlobalDate.Create;

finalization

  MyGlobalData.Free;

end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13: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