Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

AnsiString и пакеты

8.8K
25 мая 2005 года
Xenofob
23 / / 23.02.2005
Недавно мне пришлось писать простой эмулятор сервиса абонента. (человек "звонит" в сервис, узнает счет, активаирует карту и тд.)
Прога получилась простой и работает в консольном режиме. Чтобы облегчить себе жизнь, я использовал AnsiString из VCL для пердачи строковых параметров во многих функциях.
Все вроде замечательно, но при компиляции без пакетов прога наотрез отказалась линковаться, хотя с включеной галочкой все работает прекрасно.
Прогу уже сдали (скомпиляли с пакетами в универе), но мне хотелось бы понять почему она без пакетов то не линковалась?
10
25 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Xenofob
но мне хотелось бы понять почему она без пакетов то не линковалась?


Похвальный интерес.

8.8K
25 мая 2005 года
Xenofob
23 / / 23.02.2005
Как я понял из того топика, откомпилировать мою программу без пакетов нельзя и нужно таскать за собой билдеровские dll, чтоб она работала на всех компах. Я прав? :(
10
25 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Xenofob
Как я понял из того топика, откомпилировать мою программу без пакетов нельзя и нужно таскать за собой билдеровские dll, чтоб она работала на всех компах.


А вот ХЗ, как реализовано это у вас в Билдере. Я подобное только с Дельфи проделывал. Там все однозначно. И предложенный вариант с ручной инициализацией менеджера памяти вполне работоспособен.

8.8K
26 мая 2005 года
Xenofob
23 / / 23.02.2005
Хорошо, спасибо и за это.:)
249
27 мая 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by Xenofob
Хорошо, спасибо и за это.:)


Чтоб dll не таскать с собой делается это просто (правда ехе возрастает в несколько раз где-то если до компоновки он был 25 кб - то после будет 450-460кб)
Вот собсно что тебе нужно:
1.Project->Options...
2.На вкладке "Compiler" нажимаешь кнопочку Release
3.На вкладке Linker убираешь галочку с "Use dynamic RTL"
4.На вкладке "Packages" убираешь галочку с "Build with runtime packages"
5. Нажимаешь "OK" и компилируешь! ВСЕ!
Теперь dll таскать с собой не нужно!

8.8K
27 мая 2005 года
Xenofob
23 / / 23.02.2005
Цитата:
Originally posted by DissDoc
Чтоб dll не таскать с собой делается это просто (правда ехе возрастает в несколько раз где-то если до компоновки он был 25 кб - то после будет 450-460кб)
Вот собсно что тебе нужно:
1.Project->Options...
2.На вкладке "Compiler" нажимаешь кнопочку Release
3.На вкладке Linker убираешь галочку с "Use dynamic RTL"
4.На вкладке "Packages" убираешь галочку с "Build with runtime packages"
5. Нажимаешь "OK" и компилируешь! ВСЕ!
Теперь dll таскать с собой не нужно!



Все эти настройки мне прекрасно знакомы!
Я же выше пасал, что прога БЕЗ ПАКЕТОВ НЕ ЛИНКУЕТСЯ!!! :!!!:

10
27 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Xenofob
Я же выше пасал, что прога БЕЗ ПАКЕТОВ НЕ ЛИНКУЕТСЯ!!! :!!!:


Стоп, как это не линкуется? Ошибки в студию!

8.8K
27 мая 2005 года
Xenofob
23 / / 23.02.2005
Цитата:
Originally posted by Freeman
Стоп, как это не линкуется? Ошибки в студию!


С пакетами - линковалась, а без пакетов - нет (что в шестом, что в пятом билдере одинаково).
Единственные хедеры что я использовал: iostream.h и vcl.h может для использования AnsiString в консоли еще чего надо было?
К сожалению исходник этого проекта уже утерян.. :(

10
27 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Xenofob
К сожалению исходник этого проекта уже утерян.. :(


Флудеры... (c) Лохматый

8.8K
28 мая 2005 года
Xenofob
23 / / 23.02.2005
Цитата:
Originally posted by Freeman
Флудеры... (c) Лохматый


Просто хочу разобраться :)
Я нашел свой исходник, прикрепляю его к ответу.

Еще раз с ним поковырявшись я выяснил что:
1) Баг с линковкой (при компилляции без пакетов) возникает толко когда cpp-файл открывается двойным щелчком и проект создается по умолчанию. Если же создать проект мастером(с указанием vcl), то линковка проходит успешно (со всеми настройками типа : релиз, без пакетов,без dynamic RTL)
2) полученный EXE запускается и сразу выдает "Access violation at address...". Этот баг пропадает если подключить dynamic RTL(тогда прога работает нормально).
Как с этим бороться?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог