Реферат: DLL и Дельфи
Num1Edit.Text := "0";
Num2Edit.Text := "0";
ResultEdit.Text := "Введите ЧИСЛA";
EXIT;
end;
Operation := OpEdit.Text; //также проверим, введена ли правильная команда.
if (Operation<>"plus")and(Operation<>"minus")and(Operation<>"multiply")
and(Operation<>"div")and(Operation<>"mod") then
begin
ResultEdit.Text := "Введите корректную команду";
Exit;
end;
//до этого момента код остался без изменений.
@MyFunc := nil; //очищаем адрес функции
LibHandle := LoadLibrary("Project2.dll");//пытаемся загрузить библиотеку
if LibHandle >= 32 then
begin //если все прошло успешно то
@MyFunc := GetProcAddress(LibHandle, "MathFunc");//пытаемся найти адрес функции
if @MyFunc <> nil then //если адрес найден (функция существует в библиотеке)
Result_ := MyFunc(Num1, Num2, Errcode, PChar(Operation)); //использование библиотечной функции
if Result_=Errcode then //если функция возвратила код ошибки то
begin //то сообщаем об этом.
ResultEdit.Text := "ОШИБКА";
EXIT;
end
else //а если результат отличный от кода ошибки
ResultEdit.Text := IntToStr(Result_);//то выводим его}
end;
end;