Gast
2006-02-02, 15:16:41
Hallo,
ich habe ein Problem in C#. In einer Endlosschleife wird auf eine Datenbankverbindung gewartet. So lange noch keine Verbindung besteht, wird ein Hinweisfenster (myForm1) angezeigt. Kommt die Verbindung zustande, wird das Fenster, sofern es vorher geöffnet war, geschlossen.
.
Form1 myForm1;
.
.
do
{
// Datenbank verbinden
.
if (Fehler)
{
if (myForm1 == null) // wurde noch nicht instanziert <<-- hier erscheint die Fehlermeldung des Compilers
{
myForm1 = new Form1();
myForm1.Show();
}
}
else
{
if (myForm1 != null) // wurde instanziert
myForm1.Close();
return (0);
}
}
while (true)
Beim Compilieren meldet C# immer "Verwendung der nicht zugewiesenen lokalen Variablen 'myForm1'.
Natürlich kann ich das einfach umgehen, wenn ich das Objekt sofort instanziere.Form1 myForm1 = new Form1();Aber ich will das Fenster nicht in den Speicher laden, so lange ich es nicht benötige.
Wie kann ich unter C# feststellen, ob ein Objekt schon instanziert wurde?
ich habe ein Problem in C#. In einer Endlosschleife wird auf eine Datenbankverbindung gewartet. So lange noch keine Verbindung besteht, wird ein Hinweisfenster (myForm1) angezeigt. Kommt die Verbindung zustande, wird das Fenster, sofern es vorher geöffnet war, geschlossen.
.
Form1 myForm1;
.
.
do
{
// Datenbank verbinden
.
if (Fehler)
{
if (myForm1 == null) // wurde noch nicht instanziert <<-- hier erscheint die Fehlermeldung des Compilers
{
myForm1 = new Form1();
myForm1.Show();
}
}
else
{
if (myForm1 != null) // wurde instanziert
myForm1.Close();
return (0);
}
}
while (true)
Beim Compilieren meldet C# immer "Verwendung der nicht zugewiesenen lokalen Variablen 'myForm1'.
Natürlich kann ich das einfach umgehen, wenn ich das Objekt sofort instanziere.Form1 myForm1 = new Form1();Aber ich will das Fenster nicht in den Speicher laden, so lange ich es nicht benötige.
Wie kann ich unter C# feststellen, ob ein Objekt schon instanziert wurde?