JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=56ed3e1c1cd856446b1ea9189d7b26e9Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Alt+Tab - Direct Draw

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
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

BeitragVerfasst am: 26.03.2003, 15:00    Titel: Alt+Tab - Direct Draw Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 26.03.2003, 15:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 26.03.2003, 15:05    Titel: Antworten mit Zitat

naja, verbieten ist wohl nicht die beste methode
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 26.03.2003, 15:06    Titel: Antworten mit Zitat

aber mit nem clipper für das primary-surface geht das nich??
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 26.03.2003, 15:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 26.03.2003, 15:51    Titel: Antworten mit Zitat

Vielen Dank für die Antworten
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 29.03.2003, 11:42    Titel: Antworten mit Zitat

Woher weiß mein Programm das es nicht mehr im vordergrund ist?
Wenn die Funktion Render fehlschlägt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 29.03.2003, 11:52    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 29.03.2003, 12:59    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 29.03.2003, 14:43    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum