|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 11.11.2002, 14:04 Titel: CreateSurfaceFromBitmap, einmal funzts einmal nich... |
|
|
Hi!
Ich hab probleme mit der Funktion: CreateSurfaceFromBitmap.
In manchen Projekten von mir funktioniert es, in anderen nicht.
An der Stelle
Code: |
if(FAILED(Surface->GetDC(&SurfaceDC)))
{
PostQuitMessage(0);
}
|
wird der Debug Modus beendet und der Compiler meldet folgendes:
"C:\WINDOWS\SYSTEM\OLE32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\VERSION.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\NTDLL.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DDRAW.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\GDI32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\USER32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\ADVAPI32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\KERNEL32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DINPUT8.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\IMAGEHLP.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\RPCRT4.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\MSASN1.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\CRYPT32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\MSVCRT.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\WINTRUST.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\MSCAT32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\RSAENH.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\COMCTL32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\SHLWAPI.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\SHELL32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\HID.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\CFGMGR32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\CABINET.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\WINSPOOL.DRV" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\MPR.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\LZ32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\COMDLG32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\SETUPAPI.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\WINMM.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DSOUND.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DMIME.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DMLOADER.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\MSACM32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DMUSIC.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\KSUSER.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DMUSIC32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\SYSTEM\DMSYNTH.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
(Sorry, dass das so viel ist )
Dann sagt er noch, dass ein paar Threads mit dem Fehlercode -1 beendet wurden.
Hat einer von euch ne Ahnung?
PS:
Hat auch auf anderen PC´s nich gefunzt.
Cu,
VH |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 11.11.2002, 15:53 Titel: |
|
|
Ich weiß zwar so jetzt auch nicht wodran das liegt, aber du könntest das herausfinden, indem du dir den Rückgabewert von GetDC() anschaust und mit Hilfe von DirectX Error Lookup den Fehlergrund herausfindest. Error Lookup ist bei der DXSDK dabei und zeigt zu einem Hexadezimalen Fehlercode die entsprechende Fehlermeldung an.
Ansonsten könntest du noch unter Systemsteuerung->DirectX->Direct3D das Debug Output Level erhöhen. Dann gibt der dir in der Ausgabe noch ein paar mehr Informationen. _________________ www.messiahzone.de.vu |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 11.11.2002, 15:55 Titel: |
|
|
Wie soll ich mir den ankucken? Der Debugger beendet das alles sobald die Zeile ausgeführt wird. |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 11.11.2002, 16:49 Titel: |
|
|
Komisch es hat nach ein paar versuchen doch geklappt den Wert zu kriegen, aber ich werd daraus net schlau: -2005532087
Sowas kann ich nirgendwo finden!
Hilft das jemandem weiter?
Cu,
VH |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 11.11.2002, 16:52 Titel: |
|
|
Das ist ein typischer Rückgabewert, wenn ein Fehler aufgetreten ist. Mache eine select case-Abfrage und teste den Wert - es ist ein D[X]ERR_* - Wert. Unter der Beschreibung des Passenden Wertes findest du dann die Fehleranalyse.
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 11.11.2002, 17:10 Titel: |
|
|
Sorry, kannst du das mal in ne idiotensichere Anleitung übersetzen?
Kenn mich mit fehler und fehlerbehebung nich so aus, hatte bis jetzt (zum Glück) noch nich so arg viele .
Cu,
VH |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 11.11.2002, 17:57 Titel: |
|
|
1. Windows-Taschenrechner öffnen
2. Ansicht->Wissenschaftlich
3. -2005532087 eingeben
4. Optionsfeld Hex wählen
5. Strg-C
6. Start->Ausführen->MS DirectX8.x SDK->DirectX Utilities->DirectX Error Lookup
7. Fokus auf das Eingabefeld
8. Strg-V
9. Alt-L
Und, Hokus Pokus, das Programm spuckt folgende Fehlermeldung aus:
HRESULT: DDERR_CANTCREATEDC
Description: Windows can not create any more DCs, or a DC was requested for a paltte-indexed surface when the surface had no palette AND the display mode was not palette-indexed (in this case DirectDraw cannot select a proper palette into the DC) _________________ www.messiahzone.de.vu |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 11.11.2002, 17:59 Titel: |
|
|
VerruecktesHuhn hat Folgendes geschrieben: | Wie soll ich mir den ankucken? Der Debugger beendet das alles sobald die Zeile ausgeführt wird. |
Der Debugger beendet zwar das Programm, aber er löscht ja nicht die Ausgabe, deshalb sollte da etwas über den Fehler drin stehen. _________________ www.messiahzone.de.vu |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 11.11.2002, 18:53 Titel: |
|
|
Danke!
Der Compiler gab da ja das aus, was ich oben gepostet hab (Symbol nicht gefunden und so) .
Hat jemand ne Idee wie man den Fehler beheben könnte, mein Display Mode ist 1024x768x32 , aber bei anderen Programmen verwende ich den auch und hab keine Probleme damit. |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 12.11.2002, 09:51 Titel: |
|
|
Alle Zeilen, wo irgendwelche Symbole nicht gefunden wurden sind keine Fehlermeldungen, die die Lauffähigkeit des Programmes beeinträchtigen, sondern Statusmeldungen vom Debugger die ungefär folgendes bedeuten:
Ich habe die Dll "xyz" geladen, aber es sind keine Funktionen in der Dll enthalten, die ich hier benötige. Wie du ja sicherlich erkennst sind die Dll's alle aus dem Systemverzeichnis von WIndows. Die angeführten Dll's werden von fast jedem Programm geladen, weil diverse Systemfunktionen dort abgelegt sind, die vielleicht nur Indirekt mit deinem Programm etwas zu tun haben.
Viel Interessanter ist es, das Threads mit einem Negativen Fehlercode beendet werden, denn das weist in der Regel auf einen Programmierfehler von deiner Seite hin.
Die Fehlermeldung DDERR_CANTCREATEDC weist darauf hin, das keine DeviceKontexte (mehr) erstellt werden können - sehr wahrscheinlich, weil du an irgendeiner Stelle vergisst, zugewiesene DC's wieder freizugeben. Ein DC verbraucht immer enorm viel Speicherplatz im RAM, deshalb ist die Anzahl der DC's von Windows streng begrenzt - Frag mich nicht, ich denke mal auf 256 Stück
Ich hoffe, ich konnte ein wenig Licht ins Dunkel bringen
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 12.11.2002, 10:52 Titel: |
|
|
Es liegt nicht am Licht, sondern wahrscheinlich daran dass ich eine zu dicke Sonnenbrille auf hab
Das klingt alles sehr einleuchtend, aber das Problem liegt nicht am freigeben der DC´s, weil es nähmlich der erste ist, den ich überhaupt anfordere, und weil der in der selben Funktion wieder freigegeben wird.
Trotzdem Danke!
Sonzt ne Idee? |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|