|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.09.2011, 00:44 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
DLL самовыгружается... проблема с DLLProc
Доброго времени суток!
Есть программа которая подхватывает dll. Пишу свою dll: Код:
При запуске программы, создаётся мой log.txt и там запись: Код:
|
30.09.2011, 00:51 | #2 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
Тут явно неудавшаяся инициализация. А как загружаешь ее в программе?
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
|
30.09.2011, 00:58 | #3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Программа не моя. Программа сама подхватывает dll и загружает их.
Почему выгружается моя dll? |
30.09.2011, 01:02 | #4 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
В таком случае навряд ли смогу тебе помочь.
Нужен кто лучше в этом соображает)) Могу только предположить что программа инициализирует какие-то определенные процедуры/функции из dll, к каковым твои не относятся.
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
Последний раз редактировалось _Troy; 30.09.2011 в 01:07. |
30.09.2011, 01:04 | #5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
нет таковых нет. Так уж получилось, что программа хватает все файлы с опр. расширением и пытается их загрузить в себя. При этом требуется инициализация с моей стороны.
Почему выгружается моя dll? |
30.09.2011, 01:07 | #6 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
И где кстати у тебя экспорт функции/процедуры?
По идее надо так: Код:
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
|
30.09.2011, 02:16 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
а зачем её экспорт....?
Она является DLLProcкоторый вызывается при инициализации dll в процессе |
30.09.2011, 03:07 | #8 |
Пользователь
Регистрация: 02.04.2011
Сообщений: 48
|
Сдается мне экспорт как раз является ключевым моментом здесь... По идеи дллка выгружается из-за того, что система считает что она больше не нужна, а не нужна она потому, что в ней нет того, ради чего она вообще создана - внешних функций, то есть экспортируемых. Насколько я помню из теории, винда выгружает библиотеки, в случаях если они больше не нужны, а ваша библиотека не может быть нужна, она ничего не дает, вы ее написали как отдельную программу, но так она работать не будет.
а функцией Log(aStr:string); вы переплюнули даже индусский код. Вы создаете стринглист и загружаете весь лог файл, только для того, что бы добавить одну строку. жесть. Поверьте, банальные append и writeln, дадут в 1000000 раз больше производительности. |
30.09.2011, 03:28 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Asinkrit, попробую указать stdcall,и сделать экспортируемой..
А процедура лог просто для дебага того, что троворится внутри. Потом уберу её... Последний раз редактировалось Человек_Борща; 30.09.2011 в 03:34. |
30.09.2011, 04:21 | #10 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Цитата:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DLLProc | Aleksey1989 | Помощь студентам | 1 | 14.04.2011 10:00 |
Проблема dll | EXMP | Софт | 0 | 18.08.2010 09:30 |
Проблема с DLL | _-Re@l-_ | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 09.06.2010 14:28 |
Проблема с DLL. | profi | Помощь студентам | 5 | 06.01.2009 23:48 |
Проблема с dll( | DM_bite | Помощь студентам | 10 | 31.07.2008 16:05 |