Hi, habe momentan dasproblem das ich ein DX programm/game/demo habe aber irgendwie bei 3 leuten nur 1 mal das programm läuft und bei 2 anderen jeweils ein fehler kommt, verschiedene wohlgemerkt.
Nun ist meine überlegung wie kann ich ein C# DirectX programm am besten verteilen ohne dassolche probleme auftretten ?
man brauch .net DX, MDX ok, aber kann man dasirgendwie so machen das er es überprüft ob auch alle dll's etc.vorhanden sind und zur not nachinstalliert ? (am besten per download)
Wenn das nur ein paar Leute fürs erste testen sollen, dann würde ich halt alle benötigten Dateien in ein Zip-Archiv packen. Aber wenn diese Leute das .NET-Framework und DirectX 9.0x installiert haben, können da eigentlich keine Dateien "fehlen".
Was sagen denn die Fehlermeldungen aus? Das wäre zumindest eine Info, mit der man "was in der Hand" hätte.
Windows Server Advanced Power Management
Erweitertes Energie-Management unter Windows
einmal das die DirectX3DX dll fehlenwürde im assembly undeinmal dann noch Object reference not set to an instance of an object
Beim ersten fehlt wohl tatsächliche eine Datei (DX neu installieren?), beim zweiten ist es wohl eher ein Fehler im Code.
Windows Server Advanced Power Management
Erweitertes Energie-Management unter Windows
Das erste ist imgrunde klar, nur gehts auch nicht obwohl die dll direkt bei der exe ist sowie das er auch angeblich das neuste sdk hat.
Der zweite fehler ist komisch da dasprogramm bei mir sowie bei jemand anderem ja läuft, und da bin ichüberfragt worran es genau liegen kann.
Zu 1: Wenn es ein fertiges (Kompiliertes) Programm ist, braucht der Benutzer kein SDK. Der sollte nur sicherstellen, dass die (ganz normale) DX Version 9.0c installiert ist.
Zu 2: Ohne den Code zu kennen kann man da keine Aussagen drüber machen. Da wäre es dann gut, eine Debig-Version mit Logging- und Tracing-Funktion zu haben, um genau die Stelle auszumachen, an der der Fehler auftritt.
Windows Server Advanced Power Management
Erweitertes Energie-Management unter Windows
zu 1: ja das aktuelle DX hat er auch, und ich hab die fehlende dll ja auch nochmal extra eingebunden und inden ordner gepackt, nur hilft das auch nicht.
zu2: ja loggin funktionen hab ich leider nicht wirklich drin, ich hab nur inder main eine expection und die wirft mit nur diese excpetion raus wo ich mein DX object erstelle wo alles gemacht wird.
Ich versteh nur nicht das esbei manchen geht und bei manchen nicht ? wie kann es sein das derfehler bei einem kommt aber bei anderen nicht, ist ja das gleiche programm.
Das gleiche Programm vielleicht, aber nicht die gleiche Hardware...
Windows Server Advanced Power Management
Erweitertes Energie-Management unter Windows
ja ok, aber gibts da paar spezielle sachen auf die man achten muss ?
er hatden gleichen fehler ja an 2 computern einmla ati und einmal nvidiaglaub ich dasist ja das komische, aber naja ich frag mal was für GFK er genau hat.
zb. das KGV (die Möglichkeiten trennen, Einige Hardwareacceleratoren unterstützen eine Funktion und andere nicht(geht dann aber oft SW-Ersatz(Treiber), muss nur abgefragt und behandelt werden). Das Voraussetzen einer best. Funktionalität(früher Fogging, heute Trilinear hastenichjesehen) kann schiefgehen. Das hat nichts mit DirectX(schon:volle oder halbvolle Unterstützung, aber DirectX7 - Geräte werden auch gelistet) oder .Net-Frameunterstützung zu tun sondern mit Hardware + Treibern(die Abfrage der Fähigkeiten wird von 99,9999% der Treiber unterstützt) + den GMV(frag einfach die Fähigkeiten der HW ab, und setze nicht deine HW-Konfiguration als Standard für den Rest der Welt vorraus).
Kurzfassung: Ich vermute dein Programm verwendet volle DirectX9-Funktionalität ohne Nachfrage. 2 von 3 usw.: ich vermute diese rechner haben keine GraKa's mit vollen DX9-Fähigkeiten(+ ältere Treiber, die den Kram nicht emulieren)
ja an sowas dacht ich auch schon, grad wo ich in der beziehung kaum was abfange da ich auch garnicht wirklich weiß wie genau 😉
nur hab ich im grunde nix großes, außer alpha und noch bisschen, halt um2D sachen machen zu können, aber ich werd mal nachfragen was für ein rechner dasist, speziell graka