| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Проблемы с глобальной переменной стат. библиотеки |
| Автор: petlyura 12.8.2008, 15:17 | ||||||
| В статической библиотеке есть глобальная переменная SUBD_CLASS AnsiString CurDir; В exe-программе, что использует эту статическую библиотеку есть в функциях форм какие-то действия с этой CurDir. К примеру:
В статической библитеке тоже есть места использования ее:
Потом сделал чуток функциональности в других местах еще. И что происходит? Захожу с помощью отладчика в метод TSecurity::Write(), WatchList показывает, что CurDir = "C:\\Pro"; но после выполнения строчки AnsiString FileName=CurDir; FileName остается равен NULL! А уж потом "\\exe\\DFile.bin"; после выполнения FileName+="\\exe\\DFile.bin";. Комментирую свою добавленную функциональность (функция в стат.библиотеке и вызов ее из exe) и получаю FileName="C:\\Pro\\exe\\DFile.bin"; Разкомментирую и снова NULL. Функция и ее вызов никакого отношения к переменной CurDir не имеют. Кто-нибудь понимает в этом? П.С. код не выкладываю. Комм.тайна, да и пару сотен килострок весит |
| Автор: xvr 13.8.2008, 15:19 |
| borlndmm.dll (memmgr.lib) в проект добавлена? Пардон, не заметил, что библиотека статическая |
| Автор: petlyura 14.8.2008, 08:18 |
| Я решил эту проблему, перенеся реализацию "своей добавленной функциональности" из *.cpp-файла в *.h-файл стат.библиотеки. И все! Почему так не знаю. Просто колдовал вокруг да около. И получилось. |