![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() есть массив записей, в котором хранится хэндл и название загруженного модуля:
Код:
type PluginIdName = record PluginId: HMODULE; PluginName: string; end; var PluginsIdsNames: array of PluginIdName; Далее в загружаю модуль и записываю в массив его хэндл и название: (PlName - входное значение - имя модуля) Код:
//Пробуем загрузить плагин в память try Plugin := LoadPackage(LocalPluginPath); ShowMessage('Загружаем '+PlName+'='+inttostr(Plugin)); SetLength(PluginsIdsNames,Length(PluginsIdsNames)+1); PluginsIdsNames[Length(PluginsIdsNames)-1].PluginId:=Plugin; PluginsIdsNames[Length(PluginsIdsNames)-1].PluginName:=PlName; Функция получения ид модуля из массива по его названию: Код:
function GetHMODULE(PluginName: string): HMODULE; var i: Integer; begin Result:=0; for i := 0 to (Length(PluginsIdsNames) - 1) do begin if PluginsIdsNames[i].PluginName = PluginName then begin Result := PluginsIdsNames[i].PluginId; Break; end; end; ShowMessage(IntToStr(Result)); end; Теперь пробую выгрузить модуль Код:
ShowMessage('Пробуем выгрузить '+AllowedToLoadPluginNames[i]); UnloadPackage(GetHMODULE(AllowedToLoadPluginNames[i])); при загрузке и выгрузке msgbox выводит IntToStr(HMODULE) идентификатор. Записываю на листочек - они одинаковые! Но UnloadPackage вылетает с ошибкой "Invalid Package handle" - в чём может быть дело???? |
#2
|
|||
|
|||
![]() блин, я в другом месте выгружал модуль, так что вопрос решён
|