AGB  ·  Datenschutz  ·  Impressum  







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

Globale Variablen

Ein Thema von gmarts · begonnen am 25. Jun 2004 · letzter Beitrag vom 25. Jun 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Globale Variablen

  Alt 25. Jun 2004, 13:21
Warum soll den eine globale Variable schlechter Programmierstil sein? Wenn ich Daten auf zwei Forms oder auch nur in unterschiedlichen Buttons o.ä. brauche, ist das doch der einfachste Weg. Wo liegt denn das Problem?

Tox
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#12

Re: Globale Variablen

  Alt 25. Jun 2004, 13:23
Zitat von Toxman:
Warum soll den eine globale Variable schlechter Programmierstil sein? Wenn ich Daten auf zwei Forms oder auch nur in unterschiedlichen Buttons o.ä. brauche, ist das doch der einfachste Weg. Wo liegt denn das Problem?

Tox
Das Thema wurde schon ausgiebig Disskutiert
Aber eins erkenne ich an dieser Aussage! Das du noch kein sehr großes Programm geschrieben hast (ich kann mich auch irren)!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Globale Variablen

  Alt 25. Jun 2004, 13:24
Aber du musst doch eh die function aufrufen um zu sehen, wie der momentane Status ist!
Wie wird dieser denn dann weiter verwendet?
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#14

Re: Globale Variablen

  Alt 25. Jun 2004, 13:26
Zitat von Toxman:
Warum soll den eine globale Variable schlechter Programmierstil sein? Wenn ich Daten auf zwei Forms oder auch nur in unterschiedlichen Buttons o.ä. brauche, ist das doch der einfachste Weg. Wo liegt denn das Problem?

Tox
Nochmal dazu!

Das hatte ich jetzt erst an der Hochschule! Vermeidung von Globalen Variablen hat etwas mit Information Hidding zu tun! Ein Konzept eines "modern" geschriebenen Programmes!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#15

Re: Globale Variablen

  Alt 25. Jun 2004, 13:27
Zitat von Nicolai1605:
Aber du musst doch eh die function aufrufen um zu sehen, wie der momentane Status ist!
Wie wird dieser denn dann weiter verwendet?
Beispiel: Ich drücke eine Taste "FragNachStatus", dann wird die Funktion, die den Status ermittelt aufgerufen. 10 Sekunden oder einen Tatsendrück oder wie auch immer später soll dieser Status irgendwo angezeigt werden. Dann frage ich doch lieber eine Variable ab, als die komplette Funktion nochmal aufzurufen, oder? Ist doch performancetechnisch besser.

Edit: Sprich, dieser ermittelte Status wird im Programm an anderen Stellen weiterverarbeitet.
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Globale Variablen

  Alt 25. Jun 2004, 13:30
Du kannst die finction doch auch erst aufrufen, wenn das ergebnis auch tatsächlich angezeigt wird, oder?
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#17

Re: Globale Variablen

  Alt 25. Jun 2004, 13:33
Zitat von Nicolai1605:
Du kannst die finction doch auch erst aufrufen, wenn das ergebnis auch tatsächlich angezeigt wird, oder?
Ja, aber dieses Ergebnis wird auch an späterer/anderer Stelle im Programm benutzt. So oft will ich diese Funktion aus Performancegründen nicht aufrufen. Leider hat die Playerkomponente keine Property State, wie z.B. TMediaplayer.
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#18

Re: Globale Variablen

  Alt 25. Jun 2004, 13:33
Zitat von gmarts:
Beispiel: Ich drücke eine Taste "FragNachStatus", dann wird die Funktion, die den Status ermittelt aufgerufen. 10 Sekunden oder einen Tatsendrück oder wie auch immer später soll dieser Status irgendwo angezeigt werden. Dann frage ich doch lieber eine Variable ab, als die komplette Funktion nochmal aufzurufen, oder? Ist doch performancetechnisch besser.
Ich würde für solche Probleme eine Art Private Variable empfehlen.

Delphi-Quellcode:
unit ...
interface

  procedure FragNachStatus;
  function GetStatus : Integer;

implementation

var iState : Integer = 0;

procedure FragNachStatus;
...

function GetStatus : Integer;
begin
  Result := iState;
end;

end.
Sinn:
-Klare Schnittstelle die gewisse Änderungen zuläst
-Die Variable ist Schreib geschützt
-Man kann sich sicher sein das nur die Funktionen darauf zugreifen
-Später Änderungen lassen sich besser überblicken
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#19

Re: Globale Variablen

  Alt 25. Jun 2004, 13:37
[Durchgestrichen]@neolithos: Das leuchtet mir schon ein. Doch ich will meinen Ergebniswert nicht immer wieder neu mit einer Funktion abfragen, das geht doch auf die Leistung.[/Durchgestrichen]

Edit: Oh sorry. Habe nicht genau gelesen. Das ist eine gute Idee.

Aber iState ist doch auch eine globale Variable?
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Globale Variablen

  Alt 25. Jun 2004, 13:44
Entweder als Paramneter übergeben oder wenn das auch zu umständlich ist, zu mindest als Feld der Form-Klasse. Die gefahr bei globalen Variablen liegt darin, dass man echt Probleme bekommt, wenn sie nicht den erwarteten Wert enthält, dann geht nämlich die Sucherei los, wo dieser Wert geändert wird.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:03 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