Ich habe ein COM-Objekt mit einer Funktion mit einem optionalen letzten Argument. Die IDL ist ein bisschen wie folgt aus:Warum sehen IDL-Standardwerte abgerundet aus?
interface ICWhatever: IDispatch
{
[id(96)] HRESULT SomeFunction([in,defaultvalue(50.6)]float parameter);
};
Dies funktioniert: Wenn ich den Parameter nicht angeben, 50,6 ausgefüllt wird Aber in mehreren Entwicklungsumgebungen (Excel VBA, VB6) wird der Standardwert gerundet. vor der Anzeige. Nachdem die offene Klammer eingeben, ich sehe:
Funktion ([Parameter A Single = 51])
Wer weiß, warum das so ist? Ist es ein Fehler? Dies wird Client-Programmierer verwirren ...