Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
ВнизКак поженить фортрановскую dll( с параметрами) и Delphi? ...... Найти похожие ветки
← →
Ник (2002-03-29 19:27) [4]Вот пример работающего кода.
DLL фортрановская.
Используются указатели.
unit truddllpas;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
md1 = array[1..1000]of double;
int1d=array[1..50]of longint;
md2 = array[1..1000,1..20]of double;
int2d=array[1..1000,1..20]of longint;
Procedure Clir(m,n:longint;Pv,PNpi,Pjc,Pfc,Psw,Pdmin,Phc:Pointer);
stdcall;external"truddll.dll"index 1;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
var
fc:md1;
Npi:int1d;
v : md2;
sw : int2d;
m,n,jc : longint;
Dmin,Hc :double;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j :integer; Fs:TextFile;st:string;
begin
try
AssignFile(Fs,"updat");Reset(Fs);
readln(Fs,m,n);
for j:=1 to n do
for i:=1 to m do read(Fs,v[j,i]);
CloseFile(Fs);
Npi[1]:=12; Npi[2]:=34567;
Clir(m,n,@v,@Npi,@jc,@fc,@sw,@Dmin,@Hc);
AssignFile(Fs,"fbs");Rewrite(Fs);
writeln(Fs,jc);
for i:=1 to jc do writeln(Fs,fc[i]);
CloseFile(Fs);
str(jc,st);Edit1.Text:=st;
str(Dmin:10:3,st);Edit2.Text:=st;
str(Hc:10:3,st);Edit3.Text:=st;
except
exit;end;
end;
end.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c