回 帖 发 新 帖 刷新版面

主题:[讨论]关于vb混合编程问题

本来纯用fortran写好的程序,
一个是名称为nh的程序,算是主程序,主程序要反复调用sub程序esp
运行很正常 ,就是输入输出数据不好存

所以现在想用vb来编写输入输出界面
用fortran语言实现计算~

作了一个简单输入输出界面,关键这里如果用vb去调用fortran程序nh,nh还要调用esp
这样一个连环调用 在动态链接方面应该注意什么??能不能实现~
是不要生成两个dl文件~?

现在运行vb 提示说“子程序或函数未定义”

请哪位大侠能够指点弥经~

回复列表 (共9个回复)

沙发

咦~~~~  没人在线吗??~~
快来说说啊~

板凳

大家都去吃饭了?~~~
等待啊等待~·

3 楼

等待砖家~~
哎~

4 楼

fortran程序编译完成没有?

5 楼

没有~
因为现在的两个fortran程序改成两个 sub程序了·
刚试了一哈,bulid时出现错误
“Compiling Fortran...
F:\ESP.FOR
Linking...
   Creating library Debug/NH.lib and object Debug/NH.exp
dfor.lib(DFORMAIN.OBJ) : error LNK2001: unresolved external symbol _MAIN__
Debug/NH1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.”

刚去借书没借到~ 正确的程序运行步骤是什么啊~~?
多谢~~

6 楼


再次顶起~~~~

7 楼


再顶~

8 楼

如果没有编译,就不能直接调用。
正常情况应该编译后调用。

9 楼

恩  我有不厌其烦的来了,,,,,这次以上错误都解决了 
但有出现新问题“找不见dll入口”
我就是将fortran bulid下 生成dll 文件  然后将dll文件和vb程序放到一个文件夹里
fortran里声明为 subroutine NH1(V0,A0,R0,U,N,F,B)
         !MS$ATTRIBUTES DLLEXPORT::NH1
         !MS$ATTRIBUTES ALIAS:"NH1"::NH1
两个fortran sub程序都做了类似声明

vb声明如下:Private Declare Sub NH1 Lib "NH1.dll" Alias "_NH1@28" (V0, A0, R0, U, N, F, B As Single)
Private Declare Sub ESPL10 Lib "ESPL10.dll" (ByVal LG, CO, T1, CDY As Single, ByVal i As Integer)
问题何在?·

我来回复

您尚未登录,请登录后再回复。点此登录或注册