module link_cont
interface
subroutine I_FileOpenCont (ncase,ndata,lpool,xfiles)
integer(kind=) :: ncase
integer(kind=) :: ndata
integer(kind=) :: lpool
character(len=), dimension() :: xfiles
endsubroutine I_FileOpenCont
endinterface
endmodule link_cont program s
use link_cont
use Kernel32
use , intrinsic :: ISO_C_Binding !// 标准模块
implicit none
type(C_FUNPTR) :: C_FileOpenCont !// C 语言指向函数的指针
procedure(I_FileOpenCont) , pointer :: FileOpenCont !// fortran 指向函数的指针
!<-------------------------------------------------------------------------------------------------------------------------------
integer(kind=) :: add
integer(kind=) :: hwnd
integer(kind=) :: n_case
integer(kind=) :: n_data
integer(kind=) :: lpool
character(len=), dimension() :: c_files
logical :: fail
logical :: syslink
!<-------------------------------------------------------------------------------------------------------------------------------
hwnd = LoadLibrary('control.dll'//c_null_char)
if (hwnd <= ) then
fail = .true.
syslink = .false.
write(*,*) 'DLL Loading failure because control.dll was not found'
read(*,*)
else
write(*,*) 'Succeed Contempt DLL (control.dll) Loading'
add = GetProcAddress(hWnd,'FILEOPENCONT'//c_null_char) !//获得地址(整数)
C_FileOpenCont = transfer( add , C_FileOpenCont ) !//把整数的地址转换成 C 指针
call C_F_PROCPOINTER( C_FileOpenCont , FileOpenCont ) !//把C指针转换成 fortran 指针
call FileOpenCont(n_case,n_data,lpool,c_files)
syslink=FreeLibrary(hwnd)
endif
end program s

在delphi和intel fortran下实证过。

Intel Fortran 调用Delphi编制的DLL的更多相关文章

  1. nodejs调用delphi编写的dll

    公司的业务需要,nodejs要读取文件版本号. 同事要求我用delphi编写dll,以供nodejs调用,结果通过json返回. delphi代码如下: function GetFileInfo(AP ...

  2. [JNA系列]Java调用Delphi编写的Dll之实例Delphi使用PWideChar

    Delphi代码 unit UnitDll; interface uses StrUtils, SysUtils, Dialogs; function DoBusinessWide(pvData: P ...

  3. [JNA系列]Java调用Delphi编写的Dll之实例Delphi使用PAnsiChar

    Delphi代码 unit UnitDll; interface uses StrUtils, SysUtils, Dialogs; function DoBusinessAnsi(pvData: P ...

  4. [JNA系列]Java调用Delphi编写的Dll之JNA使用

    介绍 给大家介绍一个最新的访问本机代码的 Java 框架 —JNA . JNA(Java Native Access) 框架是一个开源的 Java 框架,是 SUN 公司主导开发的,建立在经典的 JN ...

  5. Go调用Delphi编写的DLL

    参数整数没有问题,但是如果是字符串,要注意几个细节. 记录如下: 1.Delphi定义函数的时候,字符串参数需要使用PChar类型 2.Go传递参数的时候要将字符串转成UTF16的指针,接收的时候采用 ...

  6. C# 调用delphi编写的dll

    技术实现 如何逐步实现动态库的加载,类型的匹配,动态链接库函数导出的定义,参考下面宏定义即可: #define LIBEXPORT_API extern "C" __declspe ...

  7. [JNA系列]Java调用Delphi编写的Dll之Delphi与JAVA基本数据类型对比

    Delphi与JAVA基本数据类型对比 类型 Delphi关键字 JAVA关键字 字节 备注 范围 整型 Shortint byte 1 有符号8位 -128..127 Byte 1 无符号8位 0 ...

  8. 深入Delphi下的DLL编程

    深入Delphi下的DLL编程 作者:岑心 引 言 相信有些计算机知识的朋友都应该听说过“DLL”.尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心, ...

  9. 在.net中调用Delphi dll的Pchar转换

    Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型.如果Delphi dll是De ...

随机推荐

  1. Ignatius and the Princess III HDU - 1028 -生成函数or完全背包计数

    HDU - 1028 step 1:初始化第一个多项式 也就是 由 1的各种方案 组 成 的多项式 初始化系数为 1.临时区 temp初始化 为 0 step 2:遍历后续的n - 1 个 多项式 , ...

  2. Linux学习笔记 备份摘要

    方案的目的:备份最重要的Linux档案 系统基本设定资讯 网络服务的内容资料 1.系统基本设定资讯 /etc 整个目录 其中 /etc/passwd /etc/show /etc/group /etc ...

  3. C# 多线程示例

    static void Main(string[] args) { Thread t1 = new Thread(new ThreadStart(TestMethod)); Thread t2 = n ...

  4. jquery实时获取时间

    $(document).ready(function(){ function time(){ var date=new Date(); var h=date.getHours(); var m=dat ...

  5. java获取一年的周数和间隔天数

    java获取一年的周数和间隔天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java.uti ...

  6. 【DWM1000】 code 解密8一 TAG接收blink response 信号

    在分析这个部分前,目前我看到DWM1000 的资料,data可以分为blink和一般无线数据,后面有内容我们再扩充, 上面我们已经看到接收到blink触发的事件为 case SIG_RX_BLINK ...

  7. sql面试题-----行转列

    tem数据表如下图 select Time as 日期, sum ( case end ) as 胜, sum ( case end ) as 负 from tem group by Time 执行结 ...

  8. 反射与内置方法str del

    1.反射 用字符串来操作类或者对象的属性 class People:# country= 'china'# def __init__(self,name):# self.name= name## de ...

  9. Java 多线程 同步和异步

    同步和异步通常用来描述一次方法调用.一旦开始调用同步方法,调用者必须等到方法调用返回后,才能执行后续操作.一旦开始调用异步方法,方法调用会立即返回,调用者可以执行后续操作.异步方法会在另外一个线程中真 ...

  10. html页面布局之table布局:

    table布局: table来做整体页面的布局,布局技巧归纳如下: (1)按照设计图的尺寸设置表格的宽高以及单元格的宽高 (2)将表格的border.cellpadding.cellspacing全部 ...