|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.08.2009, 00:02 | #1 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
DLL и ошибка EInvalidPointer
Вобщем есть код, который я засунул в ДЛЛ:
Код:
Код:
Если e-mail и/или password верны, то все отлично работает. Если e-mail и/или password не верны, то выскакивает ошибка EInvalidPointer. Но, если методы из ДЛЛ поместить в проект, то как положено срабатывает Result := 'Error'; и в Едит пишется Error. Кто знает как избавиться от ошибки EInvalidPointer, при вводе неверных данных, используя при этом ДЛЛ ? З.Ы. Пробовал ставить исключения, все равно эта ошибка.
Будь проще и люди к тебе потянутся
|
26.08.2009, 00:48 | #2 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Проблема в менеджере памяти: при возвращении строки из dll память под нее выделяет один менеджер памяти и в основной программе память из под нее пытается освободить другой менеджер.
Решение: подключи первым в списке модулей и программе и dll модуль: shareMem. + почти это: http://www.cyberguru.ru/programming/...ils-page8.html
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
26.08.2009, 01:58 | #3 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Daramant вроде все заработало, но.............теперь эта же ошибка стала выскакивать каждый раз при закрытии программы. Что можно с этим сделать?
P.S. Решил проблему, заменив String на PChar.
Будь проще и люди к тебе потянутся
Последний раз редактировалось spamer; 26.08.2009 в 02:34. |
26.08.2009, 13:37 | #4 | ||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Точно shareMem во всех uses первым поставил? Цитата:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
||
26.08.2009, 13:47 | #5 | |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Цитата:
Вобщем проблема решена. Daramant спасибо.
Будь проще и люди к тебе потянутся
|
|
26.08.2009, 14:12 | #6 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Рад был помочь.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при загрузке dll | nikmay | Общие вопросы Delphi | 10 | 25.06.2009 15:42 |
Ошибка при загрузке DLL | dani92 | Общие вопросы Delphi | 12 | 24.04.2009 14:54 |
EInvalidPointer | Манжосов Денис :) | Помощь студентам | 1 | 23.11.2008 21:51 |
Ошибка в ntdll.dll | mutabor | Общие вопросы Delphi | 1 | 24.06.2008 14:55 |