回 帖 发 新 帖 刷新版面

主题:vb调用fortran生成的dll时,怎么从被调用的dll中打开窗口输出信息

vb调用fortran生成的dll时,我想将dll中程序执行情况在窗口中显示出来,不知道fortran的dll中可以创建窗口吗?

回复列表 (共11个回复)

沙发

最好不要用FORTRAN创建窗口,你可以整一个回调函数:)

板凳

老师要求的。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?

3 楼

[quote]最好不要用FORTRAN创建窗口,你可以整一个回调函数:)[/quote]
老师要求的。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?

4 楼

dll里不是可以放执行语句的么
你可以另写一个窗口程序嘛
dll来调用这个exe
二者信息交换可以考虑使用文件

5 楼

[quote][quote]最好不要用FORTRAN创建窗口,你可以整一个回调函数:)[/quote]
老师要求的,没办法。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?[/quote]回调函数只是返回字符串而已,谁让你在DLL里用输出窗口的语句了~~~

6 楼

[quote]dll里不是可以放执行语句的么
你可以另写一个窗口程序嘛
dll来调用这个exe
二者信息交换可以考虑使用文件[/quote]
能说得具体点吗?没有明白。这个窗口程序用什么语言编写才能在fortran的dll中调用,而且dll怎么调用exe文件。谢谢!

7 楼

[quote][quote][quote]最好不要用FORTRAN创建窗口,你可以整一个回调函数:)[/quote]
老师要求的,没办法。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?[/quote]回调函数只是返回字符串而已,谁让你在DLL里用输出窗口的语句了~~~[/quote]
因为要求能实时监控程序的执行情况,所以我之前是用fortran的quickwin工程,但现在用vb编界面,fortran dll进行计算,怎么实现之前的功能呢?有什么方法?谢谢!

8 楼

1、不要用QuickWin;
2、将输出到界面的sub名做为参数传入到fortran编写的dll中。
3、在fortran里,把需要输出的文字改为调用那个传入的sub;

9 楼

[quote]1、不要用QuickWin;
2、将输出到界面的sub名做为参数传入到fortran编写的dll中。
3、在fortran里,把需要输出的文字改为调用那个传入的sub;[/quote]
可以讲的具体点吗?不是很明白。

10 楼

VB中:
SUB out(str As String)
  edt.Text = edt.Text & String
End Sub
...
call fortranfun(out)
...
Fortran中:
subroutine fortranfun(out)
  out("abc")   !把原来的write(*,*)"abc"换成这个就行了。
end subroutine

我来回复

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