AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Auf bisher nicht aufgerufene Forms zugreifen (form2.edit)
Thema durchsuchen
Ansicht
Themen-Optionen

Auf bisher nicht aufgerufene Forms zugreifen (form2.edit)

Ein Thema von Almond · begonnen am 12. Jan 2006 · letzter Beitrag vom 13. Jan 2006
Antwort Antwort
Almond

Registriert seit: 5. Jan 2006
33 Beiträge
 
Delphi 3 Professional
 
#1

Auf bisher nicht aufgerufene Forms zugreifen (form2.edit)

  Alt 12. Jan 2006, 21:22
mhh, ich weiß nicht, wie ich das beschreiben soll.

Ich möchte in einem Aboutfenster unter einer Bedingung, nach dem Laden einer .ini Datei in Form1Create() in der bisdahin nicht aufgerufenen Form2 ein Label verändern.

quasi
Delphi-Quellcode:
Form1.create
loadValuesfromINI (bla);
begin
ini-blabla
//ReadString ('lalalla ....

if xy <> 1 then form2.Label1.caption := 'unregistriert'; // <<< DA passiert der Fehler
und später dann auf Button1.click
form2.Show // About Fenster


Tja, wie mach ich das?
Wie kann ich die Form2.komponenten verändern?
_ immer gute Laune
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#2

Re: Auf bisher nicht aufgerufene Forms zugreifen (form2.edit

  Alt 12. Jan 2006, 21:33
Ich würde Unit1 in Unit2 unter uses (aber in der implementation) hinzufügen und das IF in Form2.Create verschieben.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Almond

Registriert seit: 5. Jan 2006
33 Beiträge
 
Delphi 3 Professional
 
#3

Re: Auf bisher nicht aufgerufene Forms zugreifen (form2.edit

  Alt 12. Jan 2006, 21:44
mhh, ja, aber da wird die Entscheidung nicht getroffen..
xy is ne lokale Variable innerhalb der function.

Ich hab ne Variable Registered_status in Form1. als Public deklariert.
Wenn ich die in der if Bedingung mit True fülle und im About abfrage und in das Label einfüge, klappt das.
Aber das finde ich umständlich.
Würde gerne ohne Hilfsvariablen die Eigenschaften auf anderen Formen ändern.
_ immer gute Laune
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#4

Re: Auf bisher nicht aufgerufene Forms zugreifen (form2.edit

  Alt 12. Jan 2006, 21:55
Schön, dass wir erfahren, wo der Fehler auftritt. Aber... was für ein Fehler?
Ich hab nämlich leider von meinen Eltern Kristallkugel-Guckverbot bekommen
  Mit Zitat antworten Zitat
Almond

Registriert seit: 5. Jan 2006
33 Beiträge
 
Delphi 3 Professional
 
#5

Re: Auf bisher nicht aufgerufene Forms zugreifen (form2.edit

  Alt 12. Jan 2006, 22:43
der Fehler tritt genau dort auf.
in der Zeile, wo ich auf das noch nicht erstellte(?) Forular zugreifen möchte.

http://img58.imageshack.us/img58/9016/errorx3pr.gif
_ immer gute Laune
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Auf bisher nicht aufgerufene Forms zugreifen (form2.edit

  Alt 13. Jan 2006, 08:11
Zitat von Almond:
der Fehler tritt genau dort auf.
in der Zeile, wo ich auf das noch nicht erstellte(?) Formular zugreifen möchte.
Du hast den Grund ja schon selber erkannt. Die Variable Form2 ist eine Referenz auf ein Object vom Typ TForm2. Referenzen sind Zeiger. D.h. es existiert zu diesem Zeitpunkt keien Formular, auf welches du zugreifen könntest.

Delphi-Quellcode:
Form1 := TForm1.create; //Erzeugt Formular und weist es Form1 zu
Form2 := TForm2.create; //Erzeugt Formular und weist es Form2 zu
loadValuesfromINI (bla);
begin
ini-blabla
//ReadString ('lalalla ....

if xy <> 1 then form2.Label1.caption := 'unregistriert'; // <<< DA passiert der Fehler
Form2.show;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#7

Re: Auf bisher nicht aufgerufene Forms zugreifen (form2.edit

  Alt 13. Jan 2006, 13:36
Zitat von Almond:
mhh, ja, aber da wird die Entscheidung nicht getroffen..
xy is ne lokale Variable innerhalb der function.

Ich hab ne Variable Registered_status in Form1. als Public deklariert.
Wenn ich die in der if Bedingung mit True fülle und im About abfrage und in das Label einfüge, klappt das.
Aber das finde ich umständlich.
Würde gerne ohne Hilfsvariablen die Eigenschaften auf anderen Formen ändern.
Es geht auch, wenn du eine Variable global definierst. Dann kannst du problemlos in anderen Units darauf zugreifen.
Das würde ich dann nicht umbedingt Hilfsvariable nennen.

Delphi-Quellcode:
unit Unit1;

...

var XY: Irgendwas;

Form1.Create
XY := Read...

{----------------------------------------}
unit Unit2;

...

implementation

uses Unit1;

Form2.Create
If (XY...
Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:33 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