Компоненты, интересный эффект с отваливанием билиотеки

Общие вопросы по оборудованию и программному обеспечению Компании ДЭП
Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 05 фев 2008, 09:08

итак поставил компненты , подрубил прилепил и так далее
Всё рабоатет компилится всё ок НО ВОТ прикол
пишу строчку int a=StrToInt("10") и получаю
[ILINK32 Error] Error: Unresolved external 'StrToIntA' referenced from C:\IMPORTANT\DOC\RAD STUDIO\PROJECTS\DEBUG\UNIT1.OBJ

Как это понимать ?

Dino
Сообщения: 163
Зарегистрирован: 21 фев 2005, 13:18
Откуда: Компания ДЭП

Сообщение Dino » 05 фев 2008, 13:15

Ничего не "отвалилось". Просто конфликт имён.
В подключаемом файле shlwapi.h есть макрос:
#define StrToInt StrToIntA
в файле SysUtils.hpp есть объявление функции:
function StrToInt(const S: string): Integer;
Просто борлондовские и майкрософтовские хидеры немного конфликтуют.
Выход из данной проблемы:
Написать что-то наподобии int a=AnsiString("10").ToInt();
или
переопределить макрос:
#define StrToInt StrToInt
и писать также
int a=StrToInt("10")
С уважением Климов Александр
Компания ДЭП
г. Москва
(495) 995-00-12 доб. 150

Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 05 фев 2008, 16:49

Хм у вас конфликтуют не у кого не конфликтуют ...

странно ....

выход был найден, но я так чуствую это повторится не раЗ