monsoon
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору получил проект с исходниками на BCB5, строящий отчет в Excel. Перекомпилировал в BCB6. Выдается ошибка EOleSYSError "неверный тип переменной". Сравнивал #pragma link в cpp и #include в h для BCB5 и BCB6 после компиляции - одинаковы. Код: AnsiString Cell_mas1[]={"E","G","I","K","N","P","R","T","V","X","Z","AB","AD","AF"} ... WS.OlePropertyGet("Range",Cell_mas1[i]+"3:"+Cell_mas1[i]+"3").OlePropertyGet("Interior").OlePropertySet("ColorIndex",40); | Ошибка исчезает если добавить ф-ию c_str() WS.OlePropertyGet("Range",(Cell_mas1+"3:"+Cell_mas1+"3").c_str()).OlePropertyGet("Interior").OlePropertySet("ColorIndex",40); Но очень много нужно перелопачивать кода. Почему в BCB5 происходит автоматическое привидение типа, а в BCB6 возникает ошибка? Можно как-то избавиться от ошибки без добавления c_str()? |