|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.04.2010, 23:03 | #1 |
Заблокирован
Регистрация: 11.12.2009
Сообщений: 133
|
как правильно выгрузить dll из памяти
у меня явное связывание с dll при вызове FreeLibrary иногда выскакивает ошибка.
Код:
|
04.04.2010, 23:13 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
что насчет string в DLL говорили?(и сколько уже раз)
юзаем PChar или ShortString ошибка возникает не в FreeLibrary мне кажется, а вот что вы используете ресурсы из DLL(например строки) если они вам нужны то копируйте их из памяти DLL в выделенную вами(либо разрабатывайте DLL чтоб она выделяла память для копий констант а не возвращала константы сами. но тогда надо в основной проге освобождать эту память) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
04.04.2010, 23:19 | #3 |
Заблокирован
Регистрация: 11.12.2009
Сообщений: 133
|
я dll и программу создавал на одной версии делпхи тогда думаю со строками не должно быть проблем
|
04.04.2010, 23:20 | #4 |
Пользователь
Регистрация: 26.10.2007
Сообщений: 79
|
WideString-и тоже можно безбоязненно гонять между exe и dll. Они не требуют ручного управления памятью (в отличие от PChar), не ограничены по длине (в отличие от ShortString), единственное что будет тратиться процессорное время на перевод в Ansi и обратно при присваивании обычным String-ам
|
04.04.2010, 23:21 | #5 | |
Пользователь
Регистрация: 26.10.2007
Сообщений: 79
|
Цитата:
|
|
04.04.2010, 23:25 | #6 |
Заблокирован
Регистрация: 11.12.2009
Сообщений: 133
|
спасибо . поставил вместо String ShortString и все нормально заработало
|
04.04.2010, 23:33 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
04.04.2010, 23:41 | #8 |
Заблокирован
Регистрация: 11.12.2009
Сообщений: 133
|
Пепел Феникса там не по нашему написано.
там еще про модуль ShareMem говориться который можно подключить чтоб чтоб строки работали |
04.04.2010, 23:58 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
вкратце там говорится что можно подключить(первым(это нужно) в uses у dll и у интерфейсного модуля к ней) и таскать с собою также ShareMem.dll и тогда можно использовать string обычный. кстати насчет WideString я лично не уверен, ибо у него все-таки та же суть что и у простого string(кстати в Unicode Delphi(2009-2010(это то что я знаю точно)) string и UnicodeString одно и тоже, а в ANSI Delphi(1-7) string и ANSIstring) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 05.04.2010 в 02:15. |
|
05.04.2010, 00:34 | #10 | |
Пользователь
Регистрация: 26.10.2007
Сообщений: 79
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как выгрузить сайт в интернет | steck | Свободное общение | 18 | 22.02.2011 13:47 |
Размещение DLL в памяти Windows Mobile | Eagle | Общие вопросы C/C++ | 1 | 20.12.2009 16:53 |
Помогите советом! Как выгрузить форму из памяти? | Bezdar | Microsoft Office Excel | 18 | 08.05.2009 13:06 |
Программно выгрузить DLL из памяти | Air | Помощь студентам | 7 | 01.05.2008 00:06 |