![]() |
|
|
#1
|
|||
|
|||
|
Подскажите пожалуйста.
Есть простенькая библиотека (ниже), как сделать, чтобы если переменные, которые я ввожу в самой программе и куда эта библиотека подключается, не подходят под условие, то программа возвращала на окно ввода. А то приходится приравнивать эти переменные нулю. Спасибо. Код:
library Project2;
uses
SysUtils,
Windows,
Classes;
{$R *.res}
type
TMyClass = class(TObject)
v1: real;
v2: real;
end;
procedure MyFirstFunc(My:TMyClass);
begin
while (My.v1<2) or (My.v1>10)or (My.v2<2) or (My.v2>10) do
begin
My.v1:=0;
My.v2:=0;
MessageBox(0, 'Значения должны быть от 2 до 10. Повторите ввод', 'dll', MB_OK);
Exit;
end;
end;
exports
MyFirstFunc;
function MySum (My:TMyClass): real;
begin
Result:=My.v1+My.v2;
end;
exports
MySum;
begin
end. |
|
#2
|
|||
|
|||
|
Варианта 2.
Либо ты проверяешь диапазон значений переменных в основной программе и, если что не так, срезу возвращаешься к редактированию. Либо делаешьне процедуру (можно и процедуру, тогда один из параметров должен быть возвращаемым, т.е. выходным), а функцию, которая возвращает код ошибки, например типа Boolean - True - все нормально посчитали, False - неполучилось. И по его значению делаешь соответсвующие действия. |
|
#3
|
|||
|
|||
|
А у тебя не будет примеров или теории про function: boolean и т.п.
Спасибо |