Излечение VBA.CDbl()
2008 October 30
Как и многие другие функции VBA (включая методы объектной модели AutoCAD), функция CDbl подвержена маразму, не позволяющему использовать ее без страха и напрямую. Так, например, если мы хотим получить версию Автокада из системной переменной ACADVER, то такая конструкция
CDbl(Left(ThisDrawing.GetVariable("ACADVER"), 4))
фиг сработает, если в системе установлен разделитель десятичной части в виде запятой.
Выводы такие: не только сделать собственную обертку для CDbl, но и продумать, как избежать подобных проблем в будущем с другими функциями, как минимум с функциями из того же семейства CType.