Привет программерам!
Может кто подскажет в чем может быть ошибка?
При повторном вызове LoadLibrary для других плагинов на этой строке возникает ошибка Access violation... а для того же плагина все нормально
уже 2 дня парюсь с ней.
вот код процедурки
Код:
procedure TPlgFrm.RunButtonClick(Sender: TObject);
var
PluginModule : THandle;
Plugin : TPlugin;
GetPlugin : function : TPlugin;
TempPath,PluginName:string;
Begin
…
… // получение имени и пути плагина
…
PluginModule := LoadLibrary(PChar(TempPath+PluginName));
if PluginModule>HINSTANCE_ERROR then
begin
GetPlugin := GetProcAddress(PluginModule, 'GetPlugin');
Plugin := GetPlugin;
Plugin.OnWriteLog:= OnWriteLog;
Plugin.OnWriteLogImage:= OnWriteLogImage;
Plugin.OnProgressBar := OnProgressBar;
Plugin.ExecPlugin(Application.Handle); //Здесь выполняется плагин
Plugin:=nil;
FreeLibrary(PluginModule);
end
end;
Admin: Пользуемся тегами для оформления кода!