Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 26.03.2003, 15:00 Titel: Alt+Tab - Direct Draw |
|
|
Wie kann ich verhindern, dass mein DirectDraw-Programm abstürzt, oder nur noch schwarz zeigt, wenn man zwischendurch mit Alt+Tab oder anders in ein anderes Programm wechselt ??? (C++ und VB) |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 26.03.2003, 15:02 Titel: |
|
|
Es gibt 2 Möglichkeiten:
1. Alt+Tab und diverse andere Tastenkombinationen verbieten - oder
2. Alle DirectX-Surface neu initialisieren
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 |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 26.03.2003, 15:05 Titel: |
|
|
naja, verbieten ist wohl nicht die beste methode |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 26.03.2003, 15:06 Titel: |
|
|
aber mit nem clipper für das primary-surface geht das nich?? |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 26.03.2003, 15:45 Titel: |
|
|
Hallo,
mit dem Clipper hat das erstmal wenig zu tun. Wenn eine andere Anwendung angezeigt wird, verlierst du halt die primäre Oberfläche, die du dann neu erzeugen musst. Ev. trifft das auch für die anderen Surfaces zu, die im Grafikspeicher liegen. Deshalb neu erzeugen.
Christian |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 26.03.2003, 15:51 Titel: |
|
|
Vielen Dank für die Antworten |
|
Nach oben |
|
|
DerJJ Junior JLI'ler
Anmeldedatum: 24.12.2002 Beiträge: 84
Medaillen: Keine
|
Verfasst am: 29.03.2003, 11:42 Titel: |
|
|
Woher weiß mein Programm das es nicht mehr im vordergrund ist?
Wenn die Funktion Render fehlschlägt? |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 29.03.2003, 11:52 Titel: |
|
|
Ich denk mal, wenn es nich mehr auf die primäre Oberfläche zugreifen kann. Die primäre Oberfläche hat ja während des Zeichnens des Bildschirms nix mehr direkt mit dem Programm zu tun, wenn dieses minimiert ist. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
DerJJ Junior JLI'ler
Anmeldedatum: 24.12.2002 Beiträge: 84
Medaillen: Keine
|
Verfasst am: 29.03.2003, 12:59 Titel: |
|
|
Also, ich hab jetzt den rückgabewert von Render() Überprüft, und wenn des fehlgeschlagen ist, dann muss ich ja die Surfaces neu inititalisieren, soll ich einfach nochmal
Code: |
lpDD7->CreateSurface(&ddsd,&lpDDSPrimary,NULL)
lpDDSPrimary->GetAttachedSurface(&ddsd.ddsCaps,&lpDDSBackBuffer) |
die beiden Sachen aufrufen? Wenn ich das mache, oder die komplette Funktion InitDirectDraw dann kommt immer die Fehlermeldung das die Oberfläche nicht erzeugt werden konnte... |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 29.03.2003, 14:43 Titel: |
|
|
Ich weiß nich genau, aber vielleicht musst du, bevor das Programm minimiert wird die DirectDraw Objekte freigeben und nach dem Maximieren neu erstellen.
Der Clipper, Hintergrundbuffer und die ganzen Surfaces sind ja eigentlich noch gültig. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
|