Wenn "meTest" nicht zugeordnet werden kann, wird standardmäßig 255 zurückgegeben.
Wie ermittelst du das? Bei mir liefert ord(myEnum) auch -1;
Delphi-Quellcode:
type
TMyEnum = (one, two, three);
var
temp: TMyEnum;
begin
temp := TEnumFunctions.GetValueX<TMyEnum>('Hallo?');
Writeln(Ord(temp));
end;
Intern wird auch hier -1 zurückgegeben. Durch den Cast auf Byte (vermutlich passt der Enum da rein) wird daraus halt 255.