![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
dll
Vladimir1988 © (2009-12-01 20:22:00)Подскажите пожалуйста.
Создал DLL с функцией и процедурой.
Выходит сообщение: EXPORTS allowed only at global scope!
Если ставлю forward после function MySum (My:TMyClass): real; stdcall;
то надо как то определить Result. Подскажите пожалуйста как, но при этом он должен относиться к MySum.
library Project2;
uses
SysUtils,
Windows,
Classes;
{$R *.res}
type
TMyClass = class(TObject)
v1: real;
v2: real;
end;
procedure MyFirstFunc(My:TMyClass); stdcall ;
function MySum (My:TMyClass): real; stdcall;
begin
My := TMyClass.Create;
if (My.v1<2) or (My.v1>10) then
begin
MessageBox(0, 'Значения должны быть от 2 до 10. Повторите ввод', 'dll', MB_OK);
Exit;
end;
if (My.v2<2) or (My.v2>10) then
begin
MessageBox(0, 'Значения должны быть от 2 до 10. Повторите ввод', 'dll', MB_OK);
Exit;
end;
begin
Result:=My.v1+My.v2;
end;
My.Free;
end;
exports
MyFirstFunc,
MySum;
begin
end.
Vladimir1988 (2009-12-01 21:05:00) [21]пробовал, но тогда функция выполняется всегда, а должна если только значения подходят под условие
Rouse_ (2009-12-01 20:59:00) [22]разнеси процедуру и функцию.
Vladimir1988 (2009-12-01 20:58:00) [23]нет подсказать как устранить...
Rouse_ (2009-12-01 20:35:00) [24]
> EXPORTS allowed only at global scope
Перевести?