Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.009 c
2-1147444286
webpauk
2006-05-12 18:31
2006.05.28
Указатель на не существующий компонент


6-1138136250
Yeg
2006-01-24 23:57
2006.05.28
Ответ на ICQ сообщения


1-1145263745
Экспериментатор
2006-04-17 12:49
2006.05.28
Что не так? Выдает Access Violation на 0000 0000


3-1144133389
Cybernik
2006-04-04 10:49
2006.05.28
Проблемы с IBQuery. Мистика какая-то..


15-1146742658
Yeg
2006-05-04 15:37
2006.05.28
Общие сетевые ресурсы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский