| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Рабочая функция генерит ошибку |
| Автор: Poseidon 15.9.2005, 18:13 | ||||
| Вот незадача. Есть функция, каторая при помещении ее в .exe работает на УРА. Но стоит ее поместить в Dll, как все летит. Dll:
.exe
C чего бы это? |
| Автор: p0s0l 15.9.2005, 18:43 | ||||
| Помести ShareMem в USES-часть DLL-ки и USES-часть проекта (*.dpr). Важная деталь: ShareMem должен быть первым в списке подключаемых модулей! Добавлено @ 18:52
|
| Автор: Poseidon 15.9.2005, 18:54 |
| Спасибо p0s0l, но это вариант не подойдет по двум причинам: 1). Размер ДЛЛ увеличился с 91 до 234 Кб. (У лучше тогда подключить WinSock к exe и создать функцию там) 2) Функция выполняется, но при закрытии программы вылетает "Invalid pointer operation" Мне даже не нужно готовый рабочий пример давать. Мне бы понять, почему так происходит. Ведь, если эта функция зашита в exe, то все нормально работает. Понять бы почему ошибка, тогда и разобратся с ней было бы легче. PS. А что это за модуль такой ShareMem? Зачем он? |
| Автор: p0s0l 15.9.2005, 19:03 | ||||||||||
Например:
В твоём же случае (IP-адрес и имя машины) можно использовать ShortString вместо string... Добавлено @ 19:10 Так же Петрович когда-то упоминал альтернативу ShareMem - FastSharemem, тогда DLL-ку с собой таскать не надо... Я не юзал, но можешь попробовать... |
| Автор: Poseidon 15.9.2005, 19:17 |
| Благодарствую. Немного покапавшись в указанном табою направлении с ошибкой справился. |