![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В чём ошибка?
Шишкин Илья © (2003-01-15 17:25:00)Создаю dll:
library MyDll;
{$R *.RES}
function Kvadrat(x:integer):integer; Export;
begin
Result:=x*x;
end;
exports
Kvadrat index 1;
begin
end.
Компилирую
Затем в новом проекте объявляю функцию
function Kvadrat(x:integer):integer;external "MyDll" index 1;
И при нажатии кнопки пишу
y:=Kvadrat(x);
Почему при закрытии окна выдаётся RunTime Error?
Skier (2003-01-15 18:58:00) [1]>Шишкин Илья
> А какую роль имеет stdcall?
Можно и без него тогда будет использоваться соглашение register
(по умолчанию)
> Что это обозначает?
Способ передачи параметров
(F1 нажми...:) )
Шишкин Илья (2003-01-15 18:53:00) [2]2 Skier
А какую роль имеет stdcall? Что это обозначает?
2 Smithson
Ошибка где-то здесь, так как я писал всё это только для ознакомления с dll (это весь код)
Skier (2003-01-15 17:52:00) [3]function Kvadrat(x:integer):integer; stdcall;
begin
Result:=x*x;
end;
exports
Kvadrat index 1;
begin
end.
//..................................
function Kvadrat(x:integer):integer; stdcall;
external "MyDll" index 1;
Не поможет ?
Smithson (2003-01-15 17:45:00) [4]Видимо, ошибка не в приведенном коде. Покажи все.
D (2003-01-15 17:30:00) [5]Может, надо загрузить библ-ку (LoadLibrary)?