Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 16:15   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Освобождать динамические процедуры.

Код:
Type
 TPROCNAME = Procedure(BLABLABLA); StdCall;
Var
 PROCNAME : TPROCNAME;
Далее динамически гружу проки и функи:

Извиняюсь за цветность, фоткал с остановленной VM.
И освобождаю:
Код:
FreeLibrary(DLLInstance);
Вопрос:
Нужно ли что-то делать с проками и функами по OnDestroy?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.01.2010, 16:24   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

не нужно...
и еще, множество вызовов и инициализаций оформил-бы одной функой...
Код:
 button_start: function:boolean;stdcall; // приблизительно , параметров не знаю вызова ваших
 button_up: function:boolean;stdcall;
                           FLib: THandle;


function LinkProc(ProcName: string): Pointer; // функа
 begin
  try
   result:= GetProcAddress(FLib,PansiChar(ProcName));
   Win32Check(Assigned(Result))
  except end
 end;


...
   FLib:= LoadLibrary(pansichar(plib + DllName));
   Win32Check(FLib<>0); // проверяем загрузилась-ли
   //
   button_start := LinkProc('button_start'); // получили адрес точки входа и уже можем использовать
   button_up    := LinkProc('button_up');
...
и т.д.
upd
-------

ввел лишь как дополнительную проверку...
Цитата:
Функция проверяет результат выполнения функции Win32 API, которая в качестве результата возвращает величину булева типа.
Если вызов функции Win32 API вызвал ошибку (передано значение False), то функция Win32Check вызывает функцию RaiseLastWin32Error, которая, в свою очередь, вызывает исключение. Если функция Win32 API возвращает True, то Win32Check возвращает True, а иначе - False
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 28.01.2010 в 16:42.
raxp вне форума Ответить с цитированием
Старый 28.01.2010, 16:26   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Не могли бы Вы расставить комментарии по строкам? Я д[лл]инамикой только недавно начал заниматься.
Особенно непонятен Win32Check
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 28.01.2010 в 16:31.
Alex Cones вне форума Ответить с цитированием
Старый 28.01.2010, 16:48   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С функциями и процедурами не нужно поступать так как с классами.
Виндовс с ними сам разберется в плане уборки мусора.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.01.2010, 17:30   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Благодарю за все ответы.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические списки Saawa Помощь студентам 4 02.12.2009 18:35
Динамические списки tgig Паскаль, Turbo Pascal, PascalABC.NET 6 30.06.2009 14:53
Динамические масивы на с++ Olya90 Помощь студентам 5 21.04.2009 11:37
Запуск процедуры из процедуры с дополнением 1sal1 Общие вопросы Delphi 3 06.10.2008 21:54