¿Cómo se organiza un set
en memoria en Delphi?Diseño de memoria de un conjunto
Lo que trato de hacer es lanzar un tipo simple a un tipo de conjunto como
var
MyNumber : Word;
ShiftState : TShiftState;
begin
MyNumber:=42;
ShiftState:=TShiftState(MyNumber);
end;
Delphi (2009) no permitirá esto y no entiendo por qué. Haría mi vida mucho más fácil en los casos en que obtenga un número en el que los bits individuales codifiquen diferentes valores enum y simplemente podría lanzarlo así. Se puede hacer esto?
Un enfoque que iba a ir para es:
var
ShiftState : TShiftState;
MyNumber : Word absolute ShiftState;
begin
MyNumber:=42;
end;
Pero antes de hacer esto pensé que pediría el diseño de memoria. Es más un sentimiento que un conocimiento lo que estoy teniendo ahora sobre esto.
Cosmin, muchas gracias por resumirlo! ¡También disfruté mucho leyendo sobre tus pruebas en la publicación vinculada y recomiendo a todos que lo lean! Ahora todo está claro y yo y el compilador estamos contentos :) –