Gepostet: |
Referenz hinzufügen? | ||||||||||
Hi Leuts! Also ich hab jetzt endlich meine DirectX Dateien zusammengesucht, im Tutorial werden aber nur Microsoft.DirectX.dll und Microsoft.DirectX.Direct3D.dll. Muss man da nicht noch irgendwelche Header einbauen? Ich kenn mich da zwar nicht aus, aber ich bilde es mir doch ein. Und auf jeden Fall wollte ich jetzt beginnen, aber ich was nicht was für eine Anwendung ich erstellen soll. Im Tutorial steht, dass man eine leere Anwendung braucht, deswegen gehe ich auf leeres Projekt, aber das Projekt ist dann auch wirklich leer. Nicht mal eine Textdatei. Deswegen gehe ich auf Neu und leere Datei und dann habe ich eben auch eine leere Quelltextdatei, jetzt muss ich aber noc die oben erwähnten Datein einfügen. Laut Tutorial geht das über Referenz hinzufügen, jedoch klappt das bei mir nicht, da ich den Button nicht finde. Kann mir wer helfen? Danke LG Marco |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Welche Entwicklungsumgebung benutzt du denn, um deine Projekte zu kompilieren? Wenn du die Visual Studio C# Express Edition benutzt, dann gibt es zum einen auf der rechten Seite den Solution Explorer. Dort gibt es unter deinem Projekt den Punkt Referenzen. Mit einem Rechtsklick öffnet sich ein Kontextmenü, in dem du "Add Reference..." auswählen kannst und dann die entsprechenden Dateien einbinden kannst. Solltest du bereits eine leere Datei hinzugefügt haben, so dürften dort bereits drei Referenzen enthalten sein. Als zweite Möglichkeit kannst du über das ganz normale Menü von Visual Studio C# gehen. Dort einfach auf Project->Add Reference... klicken und genauso verfahren. Ob die Referenzen hinzugefügt wurden, siehst du natürlich nur im Solution Explorer. Es wird also keine gesonderte Meldung dafür ausgegeben. Für die bisher aufgeführten Programme in den Tutorials reichen die beiden Referenzen Microsoft.DirectX.dll und Microsoft.DirectX.Direct3D.dll. Es gibt zwar noch weitere DLLs, die sind aber zum Ausführen der Programme nicht nötig und müssen daher auch nicht eingebunden werden. Ich hoffe, dass hilft dir erst einmal ein wenig. Wenn nicht, dann einfach nochmal unter Angabe der verwendeten Entwicklungsumgebund schreiben ;-) MfG, Jammni |
|||||||||||
Zum Seitenanfang | Homepage ICQ | ||||||||||
Gepostet: |
|||||||||||
Hmm...Hat nicht geklappt. Vielleicht hab ich dich falsch verstanden. Also, ich habe Visual C# 2005 Express Edition. Ich öffne Visual C#, dann gehe ich auf Leeres Projekt und dann auf Projekt/Neues Element hinzufügen/C# Codedatei. Dann klicke ich im Projektmappenexplorer rechts mit der rechten Maustaste auf Verweise/Verweis hinzufügen und dann füge ich die beiden DLL's von DirectX ein, die im Tutorial erwähnt werden. Dann füge ich den Quelltext ein:
Aber es tauchen Fehler auf: Fehler 1 Der Typ- oder Namespacename Drawing ist im Namespace System nicht vorhanden. (Fehlt ein Assemblyverweis?) E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Project1\CodeFile1.cs 2 18 Project1 Fehler 2 Der Typ- oder Namespacename Windows ist im Namespace System nicht vorhanden. (Fehlt ein Assemblyverweis?) E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Project1\CodeFile1.cs 3 18 Project1 Fehler 3 Der Typ- oder Namespacename "Form" konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?) E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Project1\CodeFile1.cs 7 33 Project1 Fehler 4 Der Typ- oder Namespacename Windows ist im Namespace System nicht vorhanden. (Fehlt ein Assemblyverweis?) E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Project1\CodeFile1.cs 52 45 Project1 Fehler 5 Der Typ- oder Namespacename Windows ist im Namespace System nicht vorhanden. (Fehlt ein Assemblyverweis?) E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Project1\CodeFile1.cs 56 48 Project1 Wisst ihr was da falsch ist? LG Marco |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Ja, das liegt auch nicht mehr an DirectX. Das Problem ist, dass er weitere Referenzen (Verweise) nicht findet. Und zwar müsstest du jetzt noch die Referenzen für System.Drawing und System.Windows.Forms erstellen. Das ist allerdings nicht so optimal, da du dann bei jedem Programmstart auch ein DOS-Fenster dazu siehst. Besser wäre es, wenn du statt eines leeren Projektes ein WinForms-Projekt erstellst, da hier weitere Optionen beim kompilieren angegeben werden und die DOS-Box wegfällt. Nebenbei werden auch gleich die Referenzen eingebunden, die zum Darstellen eines Fenster benötigt werden - eben jene, die bei dir noch fehlen. Also theoretisch müsste es bei dir funktionieren, sobald du noch die beiden fehlenden Referenzen hinzugefügt hast - ansonsten ist schon alles in Ordnung. MfG, Jammni |
|||||||||||
Zum Seitenanfang | Homepage ICQ | ||||||||||
Gepostet: |
|||||||||||
Klappt irgendwie auch nicht, weil ich mich da auch irgendwie nicht ganz auskenne. Wenn ich eine WinForm erstelle, hat man ja schon ein Fenster vorgegeben, wo man eigentlich Buttons und so programmieren kann. Und ich wollte den Quelltext jetzt einfügen in mein Programm, doch da is ja schon Quelltext vorgegeben. Den hab ich jetzt so umgeändert:
Und jetzt kommen folgende Fehler: Fehler 1 Der Typ- oder Namespacename "CreateDevice" konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?) E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\Form1.cs 74 15 WindowsApplication1 Fehler 2 Der Typ- oder Namespacename "CreateDevice" konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?) E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\Form1.cs 74 38 WindowsApplication1 Fehler 3 "WindowsApplication1.Form1" enthält keine Definition für "Form1_Load". E:\Dokumente und Einstellungen\Marco\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\Form1.Designer.cs 40 55 WindowsApplication1 Andererseits habe ich die Verweise vom Leeren Projekt verändert, indem ich noch System.Drawing, System.Windows.Forms und System hinzugefügt habe. Jetzt kommen keinerlei Fehler, jedoch eben ein DOS-Fenster öffnet sich und es kommt gleichzeitig eine Meldung: Die DLL "E:\Dokumente und Einstellungen\Marco\Eigene Dateien\Visual Studio 2005\Projects\Project1\Project1\bin\Debug\Microsoft.DirectX.Direct3D.dll" unternimmt einen Versuch, innerhalb der Sperre für den OS-Loader eine verwaltete Ausführung durchzuführen. Versuchen Sie nicht, verwalteten Code innerhalb einer DllMain- oder Bildinitialisierungsfunktion auszuführen, da dies ein Hängen der Anwendung zur Folge haben kann. Damit hängt sich das Programm auch auf und der Bereich färbt sich gelb ein: (CreateDevice frm = new CreateDevice()) Also irgendwas mach ich da gewaltig falsch. Sorry, hab bis jetzt nur DOS-Programme geschrieben:) LG Marco |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Das kriegst du schon noch hin. Ich hätte dir vielleicht gestern gleich noch sagen sollen, dass du die beiden *.cs-Dateien aus dem Projekt gleich entfernen musst und eine neue Klasse hinzufügen musst. Also erst wieder ein WinForms-Projekt erstellen, dann einfach mit Entf die beiden Dateien im Solution Explorer löschen und anschließend über Project->Add new Item...->Class eine neue Klasse hinzufügen. Wichtig dabei ist, dass diese Klasse CreateDevice heißt, da du im Quelltext genau ein Objekt dieser Klasse erstellst (CreateDevice frm = new CreateDevice()). Solltest du die Klasse anders benennen wollen, so musst du auch alle entsprechenden Stellen im Quelltext umändern. Wenn du den Quelltext wieder reinkopierst, musst du darauf achten, dass du den Originalquelltext nimmst und nicht den aus deinem letzten WinForms-Projekt. Ich hoffe, dass es diesmal bei dir klappt :-) MfG, Jammni |
|||||||||||
Zum Seitenanfang | Homepage ICQ | ||||||||||