Q&A

  • 포트란 DLL에서 넘겨받아 계산하기에 대해 질문드립니다.
포트란은 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-->
0  COMMENTS