|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Создание динамически подключаемой библиотеки
Здравствуйте. Подскажите пожалуйста????
Дана библиотека (.dll) в которой написана подпрограмма для решения задачи: Код:
function Count_Chet(A:Vektor):Integer;stdcal l; var i,k,Nmax, Nmin, max, min,p:integer; begin max:=0; min:=100; p:=1; for I := 0 to High(A) do begin if max<A[i] then begin max:=a[i]; Nmax:=i; end; if min>A[i] then begin min:=a[i]; Nmin:=i; end; end; if Nmin>Nmax then begin for I := Nmax+1 to Nmin-1 do p:=p*a[i]; end else begin for I := Nmin+1 to Nmax-1 do p:=p*a[i]; end; Result:=p; end; Код:
procedure TForm1.Button2Click(Sender: TObject); var i,k:integer; A:Vektor; begin try Label4.Visible:=False; Label7.Visible:=True; Label8.Visible:=True; StringGrid1.ColCount:=2; StringGrid1.Cells[0,0]:=' i'; StringGrid1.Cells[1,0]:=' A[i]'; SetLength(A,n); for i := 1 to n do A[i-1]:=StrToInt(StringGrid1.Cells[1,i]); k:=Count_Chet(A); Label8.Caption:=IntToStr(k);???????? A:=nil; except showmessage('Некорректные данные!'); end; end; Последний раз редактировалось Admin, 03.01.2012 в 19:04. |
#2
|
||||
|
||||
Самый простой способ - где-то перед функцией нажатия кнопки написать:
Код:
function Count_Chet(A:Vektor):Integer stdcall; extern 'libname.dll'; Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
Судя по коду dll-ки вобще никак. dll возвращает только Result, а в данном случае Result - это переменная p. Нужно изменить dll так, чтобы в Result уходила переменная Nmin. Если нужны и p и Nmin, то нужно в dll в Record описать соответствующую структуру и уже ее передавать как результат.
|