Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Icons mit Delphi erstellen

  Alt 14. Mai 2006, 20:16
Irgendwie bekomme ich das Laden der Palette nicht hin.

Verwende jetzt diesen Code:

Palette^ ist ein Zeiger auf ein array of TColor
Delphi-Quellcode:
procedure LoadPalette;
var i: Byte; Stream: TStream; lpPal: PLogPalette; hPal: HPalette;
begin
  GetMem(lpPal,SizeOf(TLogPalette)+High(Palette^)*SizeOf(TPaletteEntry));
  lpPal^.palVersion:=$300;
  hPal:=CreatePalette(lpPal^);
  Stream:=TFileStream.Create('C:\test.dat', fmCreate or fmOpenWrite);
  Stream.Read(lpPal^,Length(Palette^)*SizeOf(TPaletteEntry));
  Stream.Free;
  for i:=0 to High(Palette^) do
  begin
    Palette^[i]:=RGB(lpPal^.palPalEntry[i].peRed,lpPal^.palPalEntry[i].peGreen,lpPal^.palPalEntry[i].peBlue);
  end;
  FreeMem(lpPal,SizeOf(TLogPalette)+High(Palette^)*SizeOf(TPaletteEntry));
end;
Nach dem Laden ist die Datei merkwürdigerweise immmer leer (0 Byte groß), obwohl ich sie doch nur lese...
Ich verstehe es nicht...

Wäre für jede Hilfe dankbar!
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat