Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Get{R,G}Value liefert falsche Werte

  Alt 30. Mai 2009, 14:54
Alternativ könnte man auch einen record verwenden:

Delphi-Quellcode:
TRGBQuad = packed record // ist schon in irgendeiner Unit definiert, mir fällt aber gerade nicht ein, in welcher
  r, g, b, a: byte
end;

procedure Foo(Color: TColor);
var
  RGB: PRGBQuad;
begin
  RGB := PRGBQuad(@Color);
  ...
  RGB^.r := ...
end;
Dabei fällt mir gerade etwas auf: Kann man absolute eigentlich auch mit Parametern benutzen? Dann könnte es so noch einen Tick eleganter gehen:
Delphi-Quellcode:
procedure Foo(Color: TColor);
var
  RGB: TRGBQuad absolute Color;
begin
  ...
end;
  Mit Zitat antworten Zitat