trad писал(а) 25. Сентября 2008 :: 14:29:несмотря на
if (!stricmp(Name,"мд"))
ODBCRecordset::МД - Поле агрегатного объекта не обнаружено (МД)
Вот это, Дим, интересная тема.
Действительно, stricmp (и даже _stricmp) здесь не работает.
Теперь берем любую сборку, собранную ICL, - и (о чудо) - работает.
Выводы сделать пока не готов (а надо бы).
Возможно, из-за использования двух CRT локали инициализируются неверно.
Но вот вопрос, насколько это серьезно и насколько сложно универсально компенсировать.
Когда я изучал вопрос совместимости CRT6/CRT8 я прежде всего изучал механизмы распределения памяти.
В них расхождений не было найдено.
На том уровне гарантий, который мне был необходим (только для отладки) мне этого было достаточно.
Но понятно, что любое дело совсем без проблем обойтись не может, это нарушило бы закон мировой энтропии.
+
М.б. стоит просто куда-нибудь воткнуть
setlocale(LC_ALL, "Russian");
и не думать о высоких материях... до следующего раза...
Как думаешь?