Caesar
23.06.2004, 12:35
hi!
folgendes problem - ist glaub ich keine große sache für einen routinier:
ich habe eine klasse geschrieben, die einen punkt eines spielfelds für "schiffe versenken" definiert:
// cPunkt definiert eine Klasse fuer Punkte des Spielfeldes
public class cPunkt
{
private bool bshot;
public bool bShot
{
set { bshot = value; }
get { return bshot; }
}
private bool bziel;
public bool bZiel
{
set { bziel = value; }
get { return bziel; }
}
public PictureBox bild;
public cPunkt()
{
bShot = false;
bZiel = false;
bild = new PictureBox();
bild.Image = Image.FromFile("ungesetzt.jpg");
bild.Height = 10;
bild.Width = 10;
}
}
danach habe ich zwei als internal deklarierte 2d-arrays geschrieben bestahnd aus objekten dieser cPunkt-Klasse.
beispiel:
internal cPunkt[,] spielfeld; // eine referenz, die instanziierung folgt später
wenn ich nun z.b. in der formload-methode folgendes schreibe, gibt es eine NullReferenceException. Warum ?
spielfeld = new cPunkt[10,10];
MessageBox.Show(spielfeld[1,1].bZiel.ToString());
da das bZiel ein bool ist, lasse ich es mit ToString() umwandeln in einen string. es müßte doch irgendeine ausgabe geben - zumindest eine messagebox statt eines abbruchs.
hat jemand eine idee?
gruß,
*Caesar*
folgendes problem - ist glaub ich keine große sache für einen routinier:
ich habe eine klasse geschrieben, die einen punkt eines spielfelds für "schiffe versenken" definiert:
// cPunkt definiert eine Klasse fuer Punkte des Spielfeldes
public class cPunkt
{
private bool bshot;
public bool bShot
{
set { bshot = value; }
get { return bshot; }
}
private bool bziel;
public bool bZiel
{
set { bziel = value; }
get { return bziel; }
}
public PictureBox bild;
public cPunkt()
{
bShot = false;
bZiel = false;
bild = new PictureBox();
bild.Image = Image.FromFile("ungesetzt.jpg");
bild.Height = 10;
bild.Width = 10;
}
}
danach habe ich zwei als internal deklarierte 2d-arrays geschrieben bestahnd aus objekten dieser cPunkt-Klasse.
beispiel:
internal cPunkt[,] spielfeld; // eine referenz, die instanziierung folgt später
wenn ich nun z.b. in der formload-methode folgendes schreibe, gibt es eine NullReferenceException. Warum ?
spielfeld = new cPunkt[10,10];
MessageBox.Show(spielfeld[1,1].bZiel.ToString());
da das bZiel ein bool ist, lasse ich es mit ToString() umwandeln in einen string. es müßte doch irgendeine ausgabe geben - zumindest eine messagebox statt eines abbruchs.
hat jemand eine idee?
gruß,
*Caesar*