Fehler beim Laden einer Textur

zurfluh

Grünschnabel
Ich kriege eine InvalidCallException, wenn ich eine neue Instanz einer Texture-Klasse erstelle. Für mich ist völlig unverständlich, warum hier ein Fehler auftritt.

Ich arbeite mit Visual Studio 2003 (C#) und DirectX SDK August 2006.

Code:
class Nation
	{
		string ID;
		string Name;
		Device Dev;
		Bitmap Map;
		Texture Tex;

		public Nation(string id, string name, Device dev)
		{
			ID = id;
			Name = name;
			Dev = dev;

			Map = new Bitmap("Maps\\" + ID + ".gif");
			Map.MakeTransparent(Color.White);

			ReloadTexture();
		}

		private void ReloadTexture()
		{
			Tex = new Texture(Dev, Map, 0, Pool.Default);
		}
	}
 

Norbert Eder

Erfahrenes Mitglied
Kannst mit dem Debugger reinsteppen, sprich passiert der Fehler im Code der im Konstruktor liegt? Oder führt er den Code im Konstruktor nicht aus? Ich tippe darauf, dass einer der Parameter ungültig ist und du daher die Exception bekommst.

Ausserdem solltest du deine privaten Member bei der Deklaration initialisieren.
 

Norbert Eder

Erfahrenes Mitglied
Du musst schon die korrekten Parameter setzen. Das wird dann wohl in der Dokumentation nachzulesen sein, welche Parameter die Klasse Texture erwartet. Was es ist, weißt du jetzt ja. Wahllos irgendwelche Parameter zu setzen macht keinen Sinn.