Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Динамическое подключение DLL

Ответить
Настройки темы
Delphi - [решено] Динамическое подключение DLL

Аватара для navuhodonosor

Новый участник


Сообщения: 35
Благодарности: 5


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: navuhodonosor
Дата: 20-03-2013
Описание: tag code - #
Доброго времени суток!

Не могу разобраться, как проиходит возврат результата из процедуры в динамической бибилиотеке.
У меня в программе вызов библиотеки происходит успешно, вызов процедуры происходит успешно, занчение в процедуру передается, а вот получить данные из нее не выходит (возникает access violation at...).

Вот код библиотеки:
Код: Выделить весь код
library mydll;
uses
  System.SysUtils,
  System.Classes;
{$R *.res}
procedure showing(var s:string); stdcall;
begin
  s:=s+'Procedure';
  writeln(s);
end;
exports showing index 1 ;
begin
end.
Вот код вызывающей программы:
Код: Выделить весь код
uses
  System.SysUtils, Winapi.Windows, Winapi.Messages;
type
  trever=procedure (var s:string); stdcall;
var
   rever:trever;
   libhandle:THandle;
   str,str2:string;
begin
  str:='Stroka ';
  @rever:=nil;
  Libhandle:=LoadLibrary('mydll.dll');
  if libhandle>=32 then
   begin
     writeln('Library is load');
     @rever:=Getprocaddress(libhandle,pchar(longint(1)));
   end;
  if @rever<>nil then
   begin
     writeln('Function procedure is load');
     rever(str);
   end;
  freelibrary(libhandle);
  writeln(str);
  readln;
end.

Отправлено: 13:06, 20-03-2013

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


XPEHOMETP, это не немного, это совсем не в тему

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 10:34, 26-03-2013 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для navuhodonosor

Новый участник


Сообщения: 35
Благодарности: 5

Профиль | Отправить PM | Цитировать


AlexVol,
Спасибо ещё раз, вот ресурс, который ты мне посоветовал прям в тему, особенно про плагины...

P.S. Вообщем сейчас dll с freemem пишу, значит плагины тоже с делфи писать будут

Отправлено: 17:02, 29-03-2013 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Динамическое подключение DLL

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
подключение модуля php_iconv.dll Attila Вебмастеру 1 05-01-2011 21:27
Помогите сбить перехватчиков c user32.dll, advapi32.dll, netapi.dll Pr0ga Лечение систем от вредоносных программ 3 26-06-2010 18:06
FreeBSD - [решено] Динамическое подключение IPFW & NAT Аlchemist Общий по FreeBSD 6 11-08-2008 12:16
Разное - [решено] dwmapi.dll; mpr.dll; shlwapi.dll Reset5 Microsoft Windows 2000/XP 2 14-06-2008 16:31
Динамическое изменение страницы... Kenwood Вебмастеру 5 29-03-2004 14:26




 
Переход