포트란은 DLL로 만들고, 그 DLL 에서 델파이로 넘겨받아 계산하려 합니다.
그래서 일단 간단한 것으로 만들어서 테스트하고 있는데...
그런데... 이놈의 포트란 DLL이 델파이로 제대로 값을 넘겨주지 못합니다.. -_-;;;
포트란 DLL 소스는요..(Visual Fortran 6.0A)
integer Function TEST(x)
!DEC$ ATTRIBUTES DLLEXPORT:: TEST
integer x
TEST=x+1
END function
이구요...
넘겨받는 델파이 소스는요... (Delphi 7)
<!--CodeS-->
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
iDllHandle : integer;
DllFunc : Function (a: integer) : integer;
x : integer;
begin
x:=1;
iDllHandle := LoadLibrary('FortDll.dll');
@DllFunc := GetProcAddress(iDllHandle, 'TEST');
if @DllFunc <> Nil then
ShowMessage(FloatToStr(DllFunc(x)));
FreeLibrary(iDllHandle);End;
end.
<!--CodeE-->