Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zugriff auf das andere Formular nicht möglich - warum? (https://www.delphipraxis.net/35741-zugriff-auf-das-andere-formular-nicht-moeglich-warum.html)

DymonD 11. Dez 2004 12:18


Zugriff auf das andere Formular nicht möglich - warum?
 
Hi,
ich habe folgendes:
Delphi-Quellcode:
Chatfenster.StatusBar1.Items[1].Text := Einstellungen.Edit1.Text; // oder so ähnlich
so, das Ganze steckt in einer FormCreate(Sender: TObject); - Prozedur. Allerdings wenn ich das Programm starte, gibt es eine Zugriffsverlezung. Was mache ich hier falsch?

THX im Voraus
Dima

SirThornberry 11. Dez 2004 12:25

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
wenn du in die projectdatei schaust wirst du sehen das erst dein mainform erzeugt wird und anschließend erst das chatfenster (meine Vermutung). Wenn du jetzt in deinem onCreate auf das Chatfenster zugreifst kommt die AV weil das Chatfenster zu dem Zeitpunkt noch nicht existiert.

DymonD 12. Dez 2004 01:35

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
ok, und was soll ich dann machen? im allerletzten fester alles laden?

gruß, dima

Ultimator 12. Dez 2004 02:19

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
Hi DymonD :hi:
Erstell doch entweder die Fenster in einer anderen Reihenfolge oder erstelle alle gleich am anfang und verberge die ungenutzten, bis du sie brauchst :-)

fkerber 12. Dez 2004 11:01

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
Hi!

Verlagere es von FormCreate in FormShow, dann sollte das gehen, da alle Forms dann erzeugt sind.


Ciao Frederic

DymonD 12. Dez 2004 11:54

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
Hi Julian,
Zitat:

Zitat von Ultimator
Hi DymonD :hi:
Erstell doch entweder die Fenster in einer anderen Reihenfolge oder erstelle alle gleich am anfang und verberge die ungenutzten, bis du sie brauchst :-)

und was glaubst du was ich mache????? :wall:

Zitat:

Zitat von fkerber
Verlagere es von FormCreate in FormShow, dann sollte das gehen, da alle Forms dann erzeugt sind.

Aber ich brauche sie im FormCreate! Oder ich mache noch eine Form, lasse sie zu aller letzt erzeugen und mache dort alle Einstellungen und lasse sie komplett ausgeblendet, wie so eine blinde Form.. das geht doch auch, oder??

Gruß, Dima

fkerber 12. Dez 2004 11:57

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
Hi!

Warum brauchst du Sachen, die angezeigt werden (also erst beim Show sichtbar sind) im Create?


Ciao Frederic

DymonD 12. Dez 2004 12:08

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
Hi fkerber,
Zitat:

Zitat von fkerber
Warum brauchst du Sachen, die angezeigt werden (also erst beim Show sichtbar sind) im Create?

Weil ich gerne im OnCreate die Einstellungen vornehme, dazu gehört auch das Setzen der Werte, etc. pp.
Ansonsten habe ich zwei Proteduren, und das brauche ich auch nicht...

Gruß, Dima

fkerber 12. Dez 2004 13:44

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
Hi!

Ich sehe keine Möglichkeit, wie du etwas aus einem Edit auslesen kannst, das auf einem Form ist, dass es noch nicht gibt.
Was steht denn in dem Edit drin und wo kommt es her?


Ciao Frederic

DymonD 12. Dez 2004 23:14

Re: Zugriff auf das andere Formular nicht möglich - warum?
 
Also das stimmt schon, ich kann in eine Form nicht schreiben, die noch nicht existiert. Hier der Ausschnitt:
Delphi-Quellcode:
// [...]

// Form Main, Prozedur FormCreate
Einstellungen.Edit1.Text := ini.ReadString('Main', 'Nickname', '');
Chatfenster.StatusBar1.Items[1].Text := Einstellungen.Edit1.Text;

// [...]
Also ich denke, es wäre wirklich eine bessere Idee, eine 'blinde Form' zu konstruieren und sie dann ans Ende zu setzen. Dann habe ich die Garantie, dass wenn sie erzeugt ist, dass dann auch alle anderen Forms erzeugt sind.

Ach und: ich glaube, ich muss manchmal einfach logisch nachdenken :lol:

Gruß, Dima


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz