![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Доброго времени суток!
Есть программа которая подхватывает dll. Пишу свою dll: Код:
При запуске программы, создаётся мой log.txt и там запись: Код:
|
![]() |
![]() |
![]() |
#2 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
![]()
Тут явно неудавшаяся инициализация. А как загружаешь ее в программе?
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Программа не моя. Программа сама подхватывает dll и загружает их.
Почему выгружается моя dll? |
![]() |
![]() |
![]() |
#4 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
![]()
В таком случае навряд ли смогу тебе помочь.
Нужен кто лучше в этом соображает)) Могу только предположить что программа инициализирует какие-то определенные процедуры/функции из dll, к каковым твои не относятся.
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
Последний раз редактировалось _Troy; 30.09.2011 в 01:07. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
нет таковых нет. Так уж получилось, что программа хватает все файлы с опр. расширением и пытается их загрузить в себя. При этом требуется инициализация с моей стороны.
Почему выгружается моя dll? |
![]() |
![]() |
![]() |
#6 |
Я не простой
Пользователь
Регистрация: 29.09.2011
Сообщений: 77
|
![]()
И где кстати у тебя экспорт функции/процедуры?
По идее надо так: Код:
Знание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нем сведения
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
а зачем её экспорт....?
Она является DLLProcкоторый вызывается при инициализации dll в процессе |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 02.04.2011
Сообщений: 48
|
![]()
Сдается мне экспорт как раз является ключевым моментом здесь... По идеи дллка выгружается из-за того, что система считает что она больше не нужна, а не нужна она потому, что в ней нет того, ради чего она вообще создана - внешних функций, то есть экспортируемых. Насколько я помню из теории, винда выгружает библиотеки, в случаях если они больше не нужны, а ваша библиотека не может быть нужна, она ничего не дает, вы ее написали как отдельную программу, но так она работать не будет.
а функцией Log(aStr:string); вы переплюнули даже индусский код. Вы создаете стринглист и загружаете весь лог файл, только для того, что бы добавить одну строку. жесть. Поверьте, банальные append и writeln, дадут в 1000000 раз больше производительности. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Asinkrit, попробую указать stdcall,и сделать экспортируемой..
А процедура лог просто для дебага того, что троворится внутри. Потом уберу её... Последний раз редактировалось Человек_Борща; 30.09.2011 в 03:34. |
![]() |
![]() |
![]() |
#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 |