Możesz spróbować z właściwościami. Powiedzmy że twój obiekt będzie posiadał obiekt wartość typu TWartość która zwraca albo bajt albo słowo, albo podwójne słowo np.
TWartosc = class(TObject)
private
FZmienna : DWORD;
function GetAsByte : Byte;
function GetAsWord : Word;
function GetAsDword : Dword;
public
property AsByte : Byte read GetAsByte;
property AsWord : Word read GetAsWord;
property AsDword : Dword read GetAsDword;
end;
function TWartosc.GetAsByte : Byte;
begin
result := Byte(FZmienna);
end;
function TWartosc.GetAsWord : Word;
begin
result := Word(FZmienna);
end;
function TWartosc.GetAsDword : Dword;
begin
result := Dword(FZmienna);
end;
Taki obiektik wkłądasz do głównego obiektu i zależnie co chcesz pobrać to odwołujesz się:
TGlownyObiekt = class(TObject)
war : TWartosc;
end;
//i odwołanie np.
i := war.AsByte;