| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| Sec Junior JLI'ler
 
 
 
 Anmeldedatum: 18.09.2002
 Beiträge: 88
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 29.07.2003, 18:52    Titel: DD - Fensteranwendung |   |  
				| 
 |  
				| Hallo alle zusammen 
 irgendwie gehts ab CreateSurface nicht mehr weiter bzw. das ErrorRoutline das ich geproggt habe erscheint
 
 hier ist der InitCode von DirectDraw:
 
  	  | Code: |  	  | if(FAILED(m_DD7->SetCooperativeLevel(m_WindowClass->GetHWnd(), DDSCL_NORMAL)))
 {
 return m_ErrorClass->ErrorMessageBox("WINDOW DirectDraw SCL Error");
 }
 
 DDSURFACEDESC2 DDSurfDesc;
 ZeroMemory(&DDSurfDesc, sizeof(DDSurfDesc));
 
 DDSurfDesc.dwFlags = DDSD_CAPS |DDSD_BACKBUFFERCOUNT;
 
 DDSurfDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY;
 
 DDSurfDesc.dwBackBufferCount = 1;
 
 if(FAILED(m_DD7->CreateSurface(&DDSurfDesc, &m_DDSPrimary, NULL)))
 {
 return m_ErrorClass->ErrorMessageBox("WINDOW Primary CreateSurface Error");
 }
 
 DDSCAPS2 DDCaps;
 DDCaps.dwCaps = DDSCAPS_BACKBUFFER;
 
 if(FAILED(m_DDSPrimary->GetAttachedSurface(&DDCaps, &m_DDSBackBuffer)))
 {
 return m_ErrorClass->ErrorMessageBox("WINDOW BackBuffer Error");
 }
 
 if(FAILED(m_DD7->CreateClipper(NULL, &m_DDClipper, NULL)))
 {
 return m_ErrorClass->ErrorMessageBox("CreateClipper Error");
 }
 
 if(FAILED(m_DDClipper->SetHWnd(0, m_WindowClass->GetHWnd())))
 {
 return m_ErrorClass->ErrorMessageBox("SetHwnd Error");
 }
 
 if(FAILED(m_DDSPrimary->SetClipper(m_DDClipper)))
 {
 return m_ErrorClass->ErrorMessageBox("SetClipper Error");
 }
 
 | 
 plz help
   
 MFG Sec
 _________________
 MFG Sec
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| The Lord of Programming Living Legend
 
  
 Alter: 38
 Anmeldedatum: 14.03.2003
 Beiträge: 3122
 
 Medaillen: Keine
 
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| nEp Junior JLI'ler
 
 
 
 Anmeldedatum: 03.06.2003
 Beiträge: 75
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 29.07.2003, 23:38    Titel: |   |  
				| 
 |  
				| Hm also aus dem Code hier ist das jetzt nicht ersichtlich, es kann höchstens daran liegen, dass du vergessen hast die dwSize Variable von DDSURFACEDESC2 auszufüllen, sprich: 
 
  	  | Code: |  	  | DDSRUFACEDESC2 ddsd;
 ddsd.dwSize = sizeof(ddsd);
 
 | 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Sec Junior JLI'ler
 
 
 
 Anmeldedatum: 18.09.2002
 Beiträge: 88
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 30.07.2003, 11:38    Titel: |   |  
				| 
 |  
				| @Lord bei CreateSurface 
 @nEp es liegt auch daran nicht
 _________________
 MFG Sec
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Sec Junior JLI'ler
 
 
 
 Anmeldedatum: 18.09.2002
 Beiträge: 88
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 30.07.2003, 12:09    Titel: |   |  
				| 
 |  
				| hier ist die funktion nochmal, bei CreateSurface kommt ein fehler, aber wenn ich DDSD_BACKBUFFERCOUNT in der zeile
 
 DDSurfDesc.dwFlags = DDSD_CAPS |DDSD_BACKBUFFERCOUNT;
 und in der zeile
 
 DDSurfDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY;
 die DDSCAPS_FLIP und DDSCAPS_COMPLEX weglase gehts, aber dann hab ich kein BackBuffer
 
 hier ist die funktion noch mal:
 
  	  | Code: |  	  | 
 if(FAILED(m_DD7->SetCooperativeLevel(m_WindowClass->GetHWnd(), DDSCL_NORMAL)))
 {
 return m_ErrorClass->ErrorMessageBox("WINDOW DirectDraw SCL Error");
 }
 
 /* DDSURFACEDESC2 ************************************************************************/
 
 DDSURFACEDESC2 DDSurfDesc;
 
 ZeroMemory(&DDSurfDesc, sizeof(DDSurfDesc));
 DDSurfDesc.dwSize = sizeof(DDSurfDesc);
 
 DDSurfDesc.dwFlags = DDSD_CAPS |DDSD_BACKBUFFERCOUNT;
 
 DDSurfDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY;
 
 DDSurfDesc.dwBackBufferCount = 1;
 
 DDSCAPS2 DDCaps;
 DDCaps.dwCaps = DDSCAPS_BACKBUFFER;
 
 /*****************************************************************************************/
 
 /* CreateSurface *************************************************************************/
 
 if(FAILED(m_DD7->CreateSurface(&DDSurfDesc, &m_DDSPrimary, NULL)))
 {
 return m_ErrorClass->ErrorMessageBox("WINDOW Primary CreateSurface Error");
 }
 
 /*****************************************************************************************/
 
 /* GetAttachedSurface ********************************************************************/
 
 if(FAILED(m_DDSPrimary->GetAttachedSurface(&DDCaps, &m_DDSBackBuffer)))
 {
 return m_ErrorClass->ErrorMessageBox("WINDOW BackBuffer Error");
 }
 
 /*****************************************************************************************/
 
 /* CreateClipper *************************************************************************/
 
 if(FAILED(m_DD7->CreateClipper(NULL, &m_DDClipper, NULL)))
 {
 return m_ErrorClass->ErrorMessageBox("CreateClipper Error");
 }
 
 /*****************************************************************************************/
 
 /* SetHWnd *******************************************************************************/
 
 if(FAILED(m_DDClipper->SetHWnd(0, m_WindowClass->GetHWnd())))
 {
 return m_ErrorClass->ErrorMessageBox("SetHwnd Error");
 }
 
 /*****************************************************************************************/
 
 /* SetClipper ****************************************************************************/
 
 if(FAILED(m_DDSPrimary->SetClipper(m_DDClipper)))
 {
 return m_ErrorClass->ErrorMessageBox("SetClipper Error");
 }
 
 /*****************************************************************************************/
 
 | 
 
 MFG Sec
 _________________
 MFG Sec
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| The Lord of Programming Living Legend
 
  
 Alter: 38
 Anmeldedatum: 14.03.2003
 Beiträge: 3122
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 30.07.2003, 14:14    Titel: |   |  
				| 
 |  
				| Hi, 
 Willst du ein Windowsfenster machen? Dann würde ich dir keinen echten Backbuffer empfehlen.
 Versuch mal folgendes:
 An dieser Stelle:
 
  	  | Code: |  	  | DDSCAPS2 DDCaps; DDCaps.dwCaps = DDSCAPS_BACKBUFFER;
 | 
 Keine Variable vom Typ DDSCAPS anlegen, sondern DDSURFACEDESC2 nutzen:
 
  	  | Code: |  	  | DDSurfDesc.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER; | 
 Und dann später beim Backbuffer anlegen:
 
  	  | Code: |  	  | if(FAILED(m_DDSPrimary->GetAttachedSurface(&DDSurfDesc.ddsCaps, &m_DDSBackBuffer))) | 
 _________________
 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 |  | 
	
		|  | 
	
		| Sec Junior JLI'ler
 
 
 
 Anmeldedatum: 18.09.2002
 Beiträge: 88
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 30.07.2003, 14:42    Titel: |   |  
				| 
 |  
				| So geht auch nicht  , aber wenn ich im SetCooperativeLevel
 DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN eingebe dann gehts
  _________________
 MFG Sec
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| madmax Mini JLI'ler
 
 
 
 Anmeldedatum: 06.11.2002
 Beiträge: 14
 Wohnort: Bayern, Mittelfranken, Ansbach
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 30.07.2003, 14:53    Titel: |   |  
				| 
 |  
				| Hi, hast du des genauso wie im Buch? da is nämlich a Fehler; war bei mir auch. du mussts so machen wie Lord of Programming des vorgschlagen hat dann müsstes funktionieren _________________
 Wer kämpft kann verlieren, wer nicht kämpft hat schon - B. Brecht
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Sec Junior JLI'ler
 
 
 
 Anmeldedatum: 18.09.2002
 Beiträge: 88
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 30.07.2003, 19:30    Titel: |   |  
				| 
 |  
				| Es geht nicht       
 es bleibt immer an der CreateSurface-Funktion stehen bzw. der MessageBox erscheint
 _________________
 MFG Sec
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| The Lord of Programming Living Legend
 
  
 Alter: 38
 Anmeldedatum: 14.03.2003
 Beiträge: 3122
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 31.07.2003, 11:39    Titel: |   |  
				| 
 |  
				| Dann probier mal, an der Stelle: 
  	  | Code: |  	  | DDSurfDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY; | 
 
  	  | Zitat: |  	  | DDSCAPS_VIDEOMEMORY 
 | 
 wegzulassen
 _________________
 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 |  | 
	
		|  | 
	
		| Mr. Data Mini JLI'ler
 
 
 
 Anmeldedatum: 16.09.2002
 Beiträge: 39
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 01.08.2003, 22:20    Titel: |   |  
				| 
 |  
				| DDSCAPS_VIDEOMEMORY weglassen? 
 Ich dachte immer das man die primäre Oberfläche nur im Grafikkartenspeicher ablegen kann
 _________________
 nothing is inmpossible
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| The Lord of Programming Living Legend
 
  
 Alter: 38
 Anmeldedatum: 14.03.2003
 Beiträge: 3122
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 02.08.2003, 11:03    Titel: |   |  
				| 
 |  
				| Jepp, aber das kann der Computer AFAIK selber rausfinden. Bei mir funzt es zumindest, wenn ich das weglasse. _________________
 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 |  | 
	
		|  | 
	
		| Sec Junior JLI'ler
 
 
 
 Anmeldedatum: 18.09.2002
 Beiträge: 88
 
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 02.08.2003, 17:42    Titel: |   |  
				| 
 |  
				| Was bedeutet denn das "AFAIK"??? _________________
 MFG Sec
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| TheMillenium Dark JLI'ler
 
 
 
 Anmeldedatum: 21.07.2002
 Beiträge: 1427
 Wohnort: World
 Medaillen: Keine
 
 
 | 
			
				|  Verfasst am: 02.08.2003, 18:53    Titel: |   |  
				| 
 |  
				| AFAIK (As Far As I Know): meines Wissens, soviel ich weiß
 
 ist eine gängige Abkürzung im Internet
 _________________
 The source of all power is in its destiny...
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |