Скачать MetaTrader 5

Предотвращение выгрузки DLL, после завершения скриптов

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Скачай документацию одним файлом. Это просто!
220Volt
1175
220Volt 2013.01.19 09:39 

Долго парился по этому вопросу, знаю способ, кому-нибудь интересно?

o_o
Модератор
23688
o_o 2013.01.19 09:45  

да
220Volt
1175
220Volt 2013.01.19 09:51  

http://msdn.microsoft.com/en-us/library/ms683200%28v=vs.85%29.aspx

WinApi:

// Вызвать в библиотеке
HMODULE module;
GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_PIN,
                  TEXT("MyDll.dll"),               // Имя модуля
                  &module);
В итоге, библиотека выгузиться только после завершения процесса. Как-то "клинится" счетчик ссылок.
GetModuleHandleEx function (Windows)
  • msdn.microsoft.com
Retrieves a module handle for the specified module and increments the module's reference count unless GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT is specified. The module must have been loaded by the calling process. Syntax Parameters dwFlags [in] This parameter can be zero or one or more of the following values. If the module's reference...
Yuriy Zaytsev
13685
Yuriy Zaytsev 2013.01.19 12:26  
Дело в том что если это не документированная особенность. что будет фактически означать что это баг,
то завязывать свой софт на это неразумно.
работать будет ло первого фикса.
220Volt
1175
220Volt 2013.01.19 12:45  
Почему не документировано? Я ведь выложил ссылку на MSDN, там все расписано. Если функция отчиталась об успешном завершении, то гарантии дает Microsoft. Но никаких гарантий давать не буду.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий