Hallo,
@alzaimar:
die implizite Typumwandlung klappt hier nicht, da der Wert tatsächlich ja ein 32bit-Float ist und kein 32bit-Integer.
Ich würde entweder
a) mit dem Move-Befehl arbeiten
oder
b) mit einem Variant record:
Delphi-Quellcode:
type
TIntOrFloat = record
case IsFloat: boolean of
true: (FloatValue: Single);
false: (IntValue: Integer);
end;
...
var
MyIntOrFloat: TIntOrFloat;
begin
MyIntOrFloat.IntValue := lParam;
MyFreq := MyIntOrFloat.FloatValue;
end;
Hier aber Achtung auf Typsicherheit für künftige 64-Bit Compiler (Integer dann 64bittig...?!).
Gruß
blauweiss