線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:907
推到 Plurk!
推到 Facebook!

請教Fortran產生的dll於BCB呼叫

尚未結案
Rcs
一般會員


發表:1
回覆:0
積分:0
註冊:2004-08-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-23 14:39:47 IP:163.29.xxx.xxx 未訂閱
各位高手:        我手邊有些fortran撰寫的subroutine,     想轉成dll檔,讓BCB可以使用,我已爬過站上的文章,   ( RaynorPao版大: (VC-BCB 整合系列一) 如何由 BCB 使用 VC 所產生的 LIB 及 DLL  )     也試成功用VC寫的dll檔在BCB呼叫,但是fortran轉出的dll檔就是不能用?     請各位高手不吝指教,謝謝         我先用Power Station 4.0開了寫dll的project,內容為:        subroutine for_sub(a)    implicit none    integer :: a    a=a*a    return    end subroutine for_sub      成功complie成FOR_DLL.dll檔後,在BCB以動態連結的方式呼叫:      #include  #pragma hdrstop #include "Unit1.h" #include "File1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; typedef void (*FOR_SUB)(int*); //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { int a=3; HINSTANCE dll=NULL; FOR_SUB for_sub=NULL; dll=LoadLibrary("FOR_DLL.dll"); if(dll!=NULL) { for_sub=(FOR_SUB)GetProcAddress(dll, "for_sub"); if(for_sub!=NULL) { for_sub(&a); ShowMessage(IntToStr(a)); } FreeLibrary(dll); } } //---------------------------------------------------------------------------
系統時間:2024-07-03 8:39:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!