AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Globale Variablen in einer anderen Form verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Globale Variablen in einer anderen Form verwenden

Ein Thema von Picard95 · begonnen am 16. Mai 2011 · letzter Beitrag vom 17. Mai 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Picard95
Picard95

Registriert seit: 14. Mai 2011
Ort: Dortmund
32 Beiträge
 
Delphi 4 Standard
 
#1

Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 17:35
Delphi-Version: 5
Hallo zussammen,
Zu anfang will ich noch kurz sagen ich hab Delphi 4 (unsere Schule hatte nix anderes) und nicht 5 ich konnte 4 nur leider nicht auswählen...
Ich habe folgendes Problem:
Ich möchte eine in Form2 global deklarierte Variable in der Form 3 in einer selbst deklarierten procedur verwenden.
Dummerweise erkennt delphi die Variable dort nicht.
Delphi-Quellcode:
procedure TForm2.Button26Click(Sender: TObject);
begin
  Abkuerzung:='H';
  [COLOR="Red"]TForm3.Trage_ein;[/COLOR]
  Form3.showmodal;
end;
Delphi-Quellcode:
procedure TForm3.Trage_ein;
var
  Atom:string;

begin
  [COLOR="Red"]Atom:=Form2.Abkuerzung;[/COLOR]
  if Stoff='H'
    then
      begin

        listbox1.items.add('klappt');
      end;
end;
(Ich habe die beiden Units schon miteinander Verbunden per Uses und könnte auch (wenn ich eben die roten zeilen rausnehmen würde) von Form 2 per button auf Form 3 zugreifen (siehe quelltext))
Danke schonmal für die antworten!!!
Christian

Geändert von Picard95 (16. Mai 2011 um 17:47 Uhr) Grund: Bedanken wollte ich mich schonmal^^
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 17:44
Du mußt die Instanz angeben. Also Form3 statt TForm3.
  Mit Zitat antworten Zitat
Benutzerbild von Picard95
Picard95

Registriert seit: 14. Mai 2011
Ort: Dortmund
32 Beiträge
 
Delphi 4 Standard
 
#3

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 17:50
sorry aber es kommt immernoch die fehlermeldung: [Error] Unit3.pas(39): Undeclared identifier: 'Abkuerzung' in der unit 3
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Picard95
Picard95

Registriert seit: 14. Mai 2011
Ort: Dortmund
32 Beiträge
 
Delphi 4 Standard
 
#4

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 17:51
ausserdem erscheint die variable auch nicht (wie zum beispiel buttonXY wenn ich in der unit3 Form2. eingebe
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.608 Beiträge
 
#5

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 17:56
1.) Bitte nicht pushen. Ändere bitte Deinen letzten Beitrag wenn Du etwas hinzuzufügen hast.

2.) Wenn Du eine Variable wirklich Global deklarierst, dann ist sie im globalen Scope verfügbar. Du kannst dann nicht mit Form2.Abkuerzung darauf zugreifen sondern nur mit Abkuerzung.

3.) Globale Variablen sind ganz, ganz, ganz, ganz, ganz, ganz böse. Es gibt keinen einzigen validen Grund warum man sowas brauchen sollte. Es gibt genug Programmiersprachen in denen es sowas noch nichtmal gibt, und dort wird sowas auch nicht vermisst. Versuche also am besten ohne sowas auszukommen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von rainerg
rainerg

Registriert seit: 5. Aug 2002
Ort: Hannover
82 Beiträge
 
Delphi XE Starter
 
#6

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 17:59
Wie und wo definierst du Abkürzung?
So sieht das aus, als hättest du einen Property zu Form2 definiert. Oder ist es eher eine normale Stringvariable?
Du musst die Unit, in der Du die Variable deklarierst auch mit in die Unit der Form3 einbinden.

Ich für meinen Teil packe globale Variablen immer in eine UNIT Data, macht das Verwalten leichter, weil dann die 'Global-Player' nur an einer Stelle sind.
Rainer G. aus H.
www.BunteReisebilder.de
  Mit Zitat antworten Zitat
Benutzerbild von Picard95
Picard95

Registriert seit: 14. Mai 2011
Ort: Dortmund
32 Beiträge
 
Delphi 4 Standard
 
#7

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 18:01
ah ok nach ein wenig weiterem tüfteln klappts jetzt.
Für die die es interressiert der veränderte Quelltext:
Delphi-Quellcode:
procedure TForm2.Button26Click(Sender: TObject);
begin
  Abkuerzung:='H';
  Form3.Trage_ein;
  Form3.showmodal;
end;
Delphi-Quellcode:
procedure TForm3.Trage_ein;
var
  Atom:string;

begin
  Atom:=unit2.Abkuerzung;
  if Atom='H'
    then
      begin

        listbox1.items.add('klappt');
      end;
end;
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Picard95
Picard95

Registriert seit: 14. Mai 2011
Ort: Dortmund
32 Beiträge
 
Delphi 4 Standard
 
#8

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 18:03
also Abkuerzung ist eine standart string variable (maximal 3 buchstaben lang) die ich halt brauche um in der form3 112 fälle zu unterscheiden
Christian
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#9

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 18:37
Zitat:
Zu anfang will ich noch kurz sagen ich hab Delphi 4 (unsere Schule hatte nix anderes) und nicht 5 ich konnte 4 nur leider nicht auswählen...
Du kannst das zwar nicht hier in dem Unterfprum auswählen,
aber du kannst es in dein Profil eintragen, dann sieht es auch jeder.
http://www.delphipraxis.net/profile.php?do=editprofile

(wenn hier im Unterforum eine 5 steht, gehen eh viele einige davon aus, daß dort nix ausgewählt wurde )
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#10

AW: Globale Variablen in einer anderen Form verwenden

  Alt 16. Mai 2011, 22:15
1. Wenn es was Globales sein muss definiere ich es meist in einem Datamodule.
2. In den Optionen wird eingestellt, das dieses Datamodule zuerst aufgebaut wird.
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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