Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

10.01.2012, 20:41

Programm läuft auf anderen Rechner nicht!

Guten Abend,

ich habe in letzter Zeit angefangen ein kleines Spiel zu schreiben, dieses Spiel nutzt die TriBase Engine und läuft auf dem meinem PC sehr gut. Jetzt wollte ich das Spiel mal auf meinem Netbook testen, also habe ich es kompiliert und via Dropbox rübergezogen.
Es startet auch und der Configdialog wird auch angezeigt, sobald ich aber auf "Start" drücke kommt nach kurzer Zeit ein Fenster mit der Nachricht, dass das Programm nicht mehr Funktioniert. Dieser Fehler kommt auch mit ganz verschiedenen Einstellung.
Als erstes habe ich natürlich in die Log-Datei geschaut welche wie folgt aussieht:

Zitat


INFO: TriBase-Engine wird initialisiert... (TriBase.cpp, Zeile 86, Funktion tbInit)
INFO: Initialisierung komplett! (TriBase.cpp, Zeile 104, Funktion tbInit)
INFO: Der Konfigurationsdialog wird aufgerufen... (tbConfig.cpp, Zeile 1050, Funktion tbDoConfigDialog)
INFO: Die Direct3D-Komponente wird initialisiert... (tbDirect3D.cpp, Zeile 162, Funktion tbDirect3D::Init)
INFO: Erstellen des Fensters... (tbDirect3D.cpp, Zeile 169, Funktion tbDirect3D::Init)
INFO: Initialisierung von Direct3D... (tbDirect3D.cpp, Zeile 209, Funktion tbDirect3D::Init)
INFO: Die Initialisierung der Direct3D-Komponente ist abgeschlossen! (tbDirect3D.cpp, Zeile 274, Funktion tbDirect3D::Init)
INFO: Texturmanager wurde initialisiert! (tbTextureManager.cpp, Zeile 43, Funktion tbTextureManager::Init)
INFO: Die DirectInput-Komponente wird initialisiert... (tbDirectInput.cpp, Zeile 702, Funktion tbDirectInput::Init)
INFO: DirectInput-Schnittstelle wird generiert... (tbDirectInput.cpp, Zeile 720, Funktion tbDirectInput::Init)
INFO: Initialisierung der Maus komplett! (tbDirectInput.cpp, Zeile 662, Funktion EnumDevicesCallback)
INFO: Initialisierung der Tastatur





Auf meinem normalen PC sieht diese so aus:

Zitat


INFO: TriBase-Engine wird initialisiert... (TriBase.cpp, Zeile 86, Funktion tbInit)
INFO: Initialisierung komplett! (TriBase.cpp, Zeile 104, Funktion tbInit)
INFO: Der Konfigurationsdialog wird aufgerufen... (tbConfig.cpp, Zeile 1050, Funktion tbDoConfigDialog)
INFO: Die Direct3D-Komponente wird initialisiert... (tbDirect3D.cpp, Zeile 162, Funktion tbDirect3D::Init)
INFO: Erstellen des Fensters... (tbDirect3D.cpp, Zeile 169, Funktion tbDirect3D::Init)
INFO: Initialisierung von Direct3D... (tbDirect3D.cpp, Zeile 209, Funktion tbDirect3D::Init)
INFO: Die Initialisierung der Direct3D-Komponente ist abgeschlossen! (tbDirect3D.cpp, Zeile 274, Funktion tbDirect3D::Init)
INFO: Texturmanager wurde initialisiert! (tbTextureManager.cpp, Zeile 43, Funktion tbTextureManager::Init)
INFO: Die DirectInput-Komponente wird initialisiert... (tbDirectInput.cpp, Zeile 702, Funktion tbDirectInput::Init)
INFO: DirectInput-Schnittstelle wird generiert... (tbDirectInput.cpp, Zeile 720, Funktion tbDirectInput::Init)
INFO: Initialisierung der Maus komplett! (tbDirectInput.cpp, Zeile 662, Funktion EnumDevicesCallback)
INFO: Initialisierung der Tastatur komplett! (tbDirectInput.cpp, Zeile 656, Funktion EnumDevicesCallback)
INFO: Die DirectInput-Komponente wurde erfolgreich initialisiert! (tbDirectInput.cpp, Zeile 754, Funktion tbDirectInput::Init)
INFO: Die DirectSound-Komponente wird initialisiert... (tbDirectSound.cpp, Zeile 45, Funktion tbDirectSound::Init)
INFO: DirectSound-Schnittstelle wird generiert... (tbDirectSound.cpp, Zeile 56, Funktion tbDirectSound::Init)
INFO: Generiere primären Soundpuffer... (tbDirectSound.cpp, Zeile 67, Funktion tbDirectSound::Init)
INFO: Die DirectSound-Komponente wurde erfolgreich initialisiert! (tbDirectSound.cpp, Zeile 111, Funktion tbDirectSound::Init)
INFO: Nachrichtenschleife wird betreten... (TriBase.cpp, Zeile 179, Funktion tbDoMessageLoop)
INFO: Nachrichtenschleife beendet! (TriBase.cpp, Zeile 247, Funktion tbDoMessageLoop)
INFO: Die Direct3D-Komponente wurde heruntergefahren. (tbDirect3D.cpp, Zeile 313, Funktion tbDirect3D::Exit)
INFO: Die DirectInput-Komponente wurde heruntergefahren. (tbDirectInput.cpp, Zeile 784, Funktion tbDirectInput::Exit)
INFO: Die DirectSound-Komponente wurde heruntergefahren. (tbDirectSound.cpp, Zeile 128, Funktion tbDirectSound::Exit)
INFO: Der Texturmanager wurde heruntergefahren. (tbTextureManager.cpp, Zeile 59, Funktion tbTextureManager::Exit)
INFO: TriBase-Engine wird heruntergefahren... (TriBase.cpp, Zeile 113, Funktion tbExit)
INFO: Alle Speicherbereiche freigegeben! (tbMemory.cpp, Zeile 116, Funktion tbMemExit)
INFO: Herunterfahren abgeschlossen! (TriBase.cpp, Zeile 149, Funktion tbExit)



Mich wundert es besonders, dass er bei der ersten Logdatei mitten im Satzt aufhört.
Hat einer von euch eine Idee woran das liegen kann?

Vielen Dank für eure Hilfe
Noxum


PS: Achja wenn ich das Programm, welches noch in meiner Dropbox liegt, starte dann klappt es auf meinem PC auch, somit habe ich wohl auch nicht vergessen etwas mit zu kopieren.
Why so serious ?

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

2

10.01.2012, 21:41

hat der ziel-pc alle notwendigen .dlls ?

3

10.01.2012, 22:16

Ja müsste er haben :/
Why so serious ?

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

4

10.01.2012, 23:10

Als ich mit der TriBase-Engine gearbeitet habe, habe ich das gleiche Problem festgestellt. Ich vermute, dass die Daten, die in das Log geschrieben werden sollen, irgendwo gepuffert werden und der Puffer bei einem Absturz nicht komplett in die Datei geschrieben wird.
Dein Problem lässt sich sicher auf einen ungültigen Zeiger zurückführen.

5

10.01.2012, 23:37

Ja, wenn mit IOStreams gearbeitet wird, kann man die Beispielsweise ja jeder Ausgabe flushen, dann sollte sowas nicht passieren. Vermutlich kann irgendetwas nicht initialisiert oder geladen werden und es gibt einen Fehler, den niemand behandelt, was das Programm abstürzen lässt.
Hört die Logdatei immer genau an der selben Stelle auf, oder stehen mal ein paar Buschtaben mehr oder weniger drin?
Lieber dumm fragen, als dumm bleiben!

6

11.01.2012, 15:24

Ja es endet immer an der gleichen Stelle.

Ich hab gerade mal versucht das Projekt auf dem Laptop zu Debuggen, wenn ich es dort Debugge bekomme ich eine Zugriffsverletzung.
Wundert mich, dass ich diese nicht auf meinem anderen PC kommt O.o

Naja werd mal suchen woran es liegen kann. Wenn jemand eine Idee hat dann immer her damit :)


Danke schonmal
Noxum
Why so serious ?

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

7

11.01.2012, 19:18

Die Zugriffsverletzung bekommst du, wenn z.B. das Laden einer Textur fehlschlägt und du den nicht initialisierten Zeiger trotzdem verwendest.

Vermutlich liegt es einfach daran, dass angegebene Pfade oder das Arbeitsverzeichnis auf deinem Notebook nicht stimmen und deshalb die zu ladenden Dateien nicht gefunden werden können.

8

11.01.2012, 19:34

Hab ich eigentlich auch schon überprüft, ich werd es nocheinmal durchgehen und gucken.

Noxum
Why so serious ?

Werbeanzeige