Halli hallöchen
Ich hab mal eine Frage. Und zwar habe ich gerade damit begonnen, mich mit C# und DirectX ein wenig auseinanderzusetzen.
Ich hab da auch ein paar Tutoriale gefunden, und bin mit dem
hier doch sehr zufrieden. Jetzt gibts da nur ein Problem ... das "new device". Und zwar bekomm ich da immer einen Fehler:
C#-Code: |
An unhandled exception of type 'System.ObjectDisposedException' occurred in system.windows.forms.dll
Additional information: Cannot access a disposed object named "example".
|
Ich hab euch hier mal den Code reingeschrieben, vielleicht sehr ihr ja da was.
C#-Code: |
using System;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
public class example : Form
{
Device device = null;
static void Main()
{
example form = new example();
form.InitializeGraphics();
form.Show();
while (form.Created)
{
form.Render();
Application.DoEvents();
}
}
public void InitializeGraphics()
{
try
{
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed=true;
presentParams.SwapEffect = SwapEffect.Discard;
device = new Device(0,
DeviceType.Hardware,
this,
CreateFlags.HardwareVertexProcessing,
presentParams);
}
catch (DirectXException e)
{
MessageBox.Show(null,
"Error intializing graphics: "
+ e.Message, "Error");
Close();
}
}
private void Render()
{
if (device == null)
return;
device.Clear(ClearFlags.Target,
System.Drawing.Color.Blue,
1.0f, 0);
device.Present();
}
}
|
Ich habe schon herausgefunden, dass es an der "new device" Sache liegt. Wenn man das nämlich einfach per "//" rausnimmt, funktioniert es.
Ich hab auch schon probiert, den Hardware Teil durch Software oder Reference oder MixedVertexProcessing zu ersetzten, gibt immer denselben Fehler.
Hier mal ein paar nähere Angaben zu meinem System:
AMD Athlon XP 2400+
1024 MB RAM
ATI Radeon X800 Pro
Microsoft Visual Studio .NET 2002
DirectX 9.0 SDK Update - (Oktober 2004)
Ich bin mit meinem Latein langsam wirklich am Ende.

Hab hier im Forum schonmal nach ähnlichen Problemen gesucht und auch was gefunden, aber damit wurde mein Problem auch nicht gelöst.
Ich wäre euch über jegliche Hilfe SEHR SEHR dankbar.
Michael