![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Вот незадача.
Есть функция, каторая при помещении ее в .exe работает на УРА. Но стоит ее поместить в Dll, как все летит. Dll:
.exe
C чего бы это? -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Помести ShareMem в USES-часть DLL-ки и USES-часть проекта (*.dpr). Важная деталь: ShareMem должен быть первым в списке подключаемых модулей!
Добавлено @ 18:52
-------------------- С уважением, г-н Посол. |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Спасибо p0s0l, но это вариант не подойдет по двум причинам:
1). Размер ДЛЛ увеличился с 91 до 234 Кб. (У лучше тогда подключить WinSock к exe и создать функцию там) 2) Функция выполняется, но при закрытии программы вылетает "Invalid pointer operation" Мне даже не нужно готовый рабочий пример давать. Мне бы понять, почему так происходит. Ведь, если эта функция зашита в exe, то все нормально работает. Понять бы почему ошибка, тогда и разобратся с ней было бы легче. PS. А что это за модуль такой ShareMem? Зачем он? Это сообщение отредактировал(а) Poseidon - 15.9.2005, 18:55 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| p0s0l |
|
||||||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Например:
В твоём же случае (IP-адрес и имя машины) можно использовать ShortString вместо string... Добавлено @ 19:10 Так же Петрович когда-то упоминал альтернативу ShareMem - FastSharemem, тогда DLL-ку с собой таскать не надо... Я не юзал, но можешь попробовать... -------------------- С уважением, г-н Посол. |
||||||||||
|
|||||||||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Благодарствую. Немного покапавшись в указанном табою направлении с ошибкой справился.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |