Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Name einer Instanz einer Form? (https://www.delphipraxis.net/74520-name-einer-instanz-einer-form.html)

Pseudemys Nelsoni 4. Aug 2006 13:39


Name einer Instanz einer Form?
 
Tag,

ich habe in meinem C# Projekt einen AboutDialog hinzugefügt und den name umbenannt in "AboutWnd"...soweit so gut, nur wohe rweiss ich wie die Instanz dieses Dialogs heisst? Ich diesen nämlich aus Form1 heraus aufrufen..nur geht das schlecht wenn man den Namen der Instanz nicht weiss...Wo sieht man den?

Jürgen Thomas 4. Aug 2006 14:19

Re: Name einer Instanz einer Form?
 
Zitat:

Zitat von Pseudemys Nelsoni
ich habe in meinem C# Projekt einen AboutDialog hinzugefügt und den name umbenannt in "AboutWnd"...soweit so gut, nur wohe rweiss ich wie die Instanz dieses Dialogs heisst? Ich diesen nämlich aus Form1 heraus aufrufen..nur geht das schlecht wenn man den Namen der Instanz nicht weiss...Wo sieht man den?

Der Name ist der Name... Wenn der AboutDialog der cs-Datei von Form1 hinzugefügt wurde, dann geht es doch direkt:
Code:
if (AboutWnd.ShowDialog() == DialogResult.OK) { ... }
In C# ist alles - ALLES - in Klassen eingebunden.

Wenn der AboutDialog also Bestandteil einer anderen Klasse CDialoge ist, muss eine Instanz dieser Klasse erzeugt sein und aufgerufen werden, zum Beispiel:
Code:
CDialoge dlg = new CDialoge();
if (dlg.AboutWnd.ShowDialog() == DialogResult.OK) { ... }
Worin besteht also das Problem? Jürgen

Pseudemys Nelsoni 4. Aug 2006 20:25

Re: Name einer Instanz einer Form?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

erstmal danke für deine Antwort. Also das Problem besteht darin, dass, ich keine "ShowDialog()" Methide finde, siehe Anhang.

Jürgen Thomas 5. Aug 2006 09:45

Re: Name einer Instanz einer Form?
 
Zitat:

Zitat von Pseudemys Nelsoni
erstmal danke für deine Antwort. Also das Problem besteht darin, dass, ich keine "ShowDialog()" Methide finde, siehe Anhang.

Hallo Mario,

aus dem Anhang kann ich auch keine solche Methode finden. Aber beachte:
1. Aus AboutBox1.cs muss deutlich werden, was für eine Klasse AboutWnd ist. Ich nehme doch an, dass sie von Form abgeleitet ist; dann hat sie automatisch die Methoden Show() und ShowDialog().
2. Fehlt vielleicht nur der Querverweis using...?
3. An welcher Stelle wird AboutWnd eigentlich erzeugt?

Für die genauere Prüfung müsste ich die cs-Dateien sehen. Aber vielleicht kannst Du mit meinen Hinweisen den Fehler selbst finden. Jürgen

Khabarakh 5. Aug 2006 10:27

Re: Name einer Instanz einer Form?
 
Wie aus dem Code-Highlighting ersichtlich, versuchst du, auf die statischen Member der Form-Klasse zuzugreifen. Du musst deine Form zuerst instanziieren:
Code:
using (AboutWnd aboutWnd = new AboutWnd)
  aboutWnd.ShowDialog(this);
Zitat:

ich habe in meinem C# Projekt einen AboutDialog hinzugefügt und den name umbenannt in "AboutWnd"...soweit so gut, nur wohe rweiss ich wie die Instanz dieses Dialogs heisst?
Dieses Verbrechen an der objektorientierten Programmierung namens "globale Form-Variablen" gibt es in den .Net-IDEs zum Glück nicht mehr.

Pseudemys Nelsoni 5. Aug 2006 12:23

Re: Name einer Instanz einer Form?
 
Danke Leuts, funkt :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 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