myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grafik und Sound » new Device Problem
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

new Device Problem

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
mzirl
myCSharp.de-Mitglied

Dabei seit: 09.04.2005
Beiträge: 1


mzirl ist offline

new Device Problem

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Halli hallöchen smile

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(); //Let the OS handle what it needs to
        }
    }

    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. unglücklich 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. smile


Michael
Neuer Beitrag 09.04.2005 17:00 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Pulpapex Pulpapex ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.07.2003
Beiträge: 939
Entwicklungsumgebung: Eclipse / VC# 2005
Herkunft: Rostock


Pulpapex ist offline Füge Pulpapex Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

An welcher Code-Position genau tritt der Fehler auf (Stack-Trace)? System.ObjectDisposedException deutet eher darauf hin, dass ein Objekt angesprochen wird, das bereits "disposed" ist. Sollte nicht auftreten, wenn ein Objekt mit new erzeugt wird. Es sei denn, einer der Constructor-Parameter ist "disposed".


Gruss
Pulpapex

PS: "disposed" bedeutet soviel wie: vom Garbage Collector noch nicht freigegeben, aber nativ unbrauchbar.
Neuer Beitrag 11.04.2005 00:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 14 Jahre.
Der letzte Beitrag ist älter als 14 Jahre.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 14.11.2019 21:58