Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
Внизиспользование 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.012 c