Einzelnen Beitrag anzeigen

Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#12

Re: Bitmaps archivieren und laden?

  Alt 27. Sep 2007, 12:44
Hi Sunlight. Das hört sich ja schonmal echt gut an
Allerdings scheint das nicht zu klappen
Ich hab mal versucht das anzuwenden am Beispiel einer einzigen Bitmap die einfach im Ordner liegt und 3128 Bytes groß ist. Allerdings geht das Programm einfach wieder ohne Meldung aus.
Hier mal nach Delphi übersetzt was ich probiert hab.

Delphi-Quellcode:
var
  hTmp, hBitmap: THandle;
  Buf: Array [0..3127] of Byte;
  Dummy: DWORD;
begin
  // Die Bitmap öffnen
  hBitmap := CreateFile("bitmap2.bmp", FILE_READ_DATA, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nil);
  // Temporäre Datei erstellen
  hTmp := CreateFile("bitmap_tmp.bmp", FILE_READ_DATA or FILE_WRITE_DATA, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY or FILE_FLAG_DELETE_ON_CLOSE, nil);

  ReadFile(hBitmap, Buf, SizeOf(buf), @Dummy, nil);
  WriteFile(hTmp, Buf, Dummy, @Dummy, nil);

  Player (* SDL_Surface *) := SDL_LoadBMP('bitmap_tmp.bmp');
  CloseHandle(hTmp);
  CloseHandle(hBitmap);
Bei dem @ vor den "Dummys" bin ich mir jetzt nicht so sicher.
Was mach ich falsch?

Edit:
Wenn ich anstatt FILE_ATTRIBUTE_TEMPORARY or FILE_FLAG_DELETE_ON_CLOSE einfach FILE_ATTRIBUTE_NORMAL nehme wird die Bitmap im Projektverzeichnis erstellt
und sieht einwandfrei aus

Edit2 und 3: Übersetzungsfehler beseitigt.
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat