Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

использование DLL   Найти похожие ветки 

 
Mr tray   (2006-05-12 00:06) [0]

Доброе утро/день/вечер. Первый раз сталкиваюсь с DLL. Читал хелп. Делаю так, как понял. Но чего то функция выдает не то, что нужно.
library Project2;
uses
 SysUtils, Classes;
function func(x:integer):integer;stdcall;
begin
 func:=x*11;
end;
exports
 func name "func"; {А нужен ли вообще name "func", а то что с ним, что без него - ничего не меняется}
{$R *.res}
begin
end.


program Project1;
{$APPTYPE CONSOLE}
uses
 SysUtils, Windows;
type
 Tfunc=function(x:integer):integer;
const
 mydll="Project2.dll";
var
 hnd:THandle;
 func:tfunc;
 s:string;
begin
 { TODO -oUser -cConsole Main : Insert code here }
 getdir(0,s);
 hnd:=loadlibrary(pchar(s+"\"+mydll));
 @func:=GetProcAddress(hnd, "func");    
 writeln(func(1));
 FreeLibrary(hnd);
 readln;
end.

выдает 13696188. а должен 11.


 
Eraser ©   (2006-05-12 00:13) [1]


> Mr tray   (12.05.06 00:06)


> type
>  Tfunc=function(x:integer):integer;

type
 Tfunc=function(x:integer):integer; stdcall


 
Mr tray   (2006-05-12 00:17) [2]

ПАСИБ!


 
Джо ©   (2006-05-12 01:03) [3]

> {А нужен ли вообще name "func", а то что с ним, что без
> него - ничего не меняется}

Не обязателен. Нужен, если хочешь экспортировать функцию под другим именем, отличным от того, какое она имеет.



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
2-1147323581
shadow86
2006-05-11 08:59
2006.05.28
Временная задержка при выполнении программы


1-1145478752
Andrey.Ru
2006-04-20 00:32
2006.05.28
Список всех COM+ приложений


10-1108066589
Pine
2005-02-10 23:16
2006.05.28
Задание формата ячеек типа "текст" в экселе созданного через OLE


5-1132651701
nikolas
2005-11-22 12:28
2006.05.28
Текущая дата в TDateEdit из RxLib


15-1145997774
Любопытствующий
2006-04-26 00:42
2006.05.28
Где достать файлы звуковых эффектов?