主题:vb调用fortran生成的dll时,怎么从被调用的dll中打开窗口输出信息
gxlblue
[专家分:0] 发布于 2011-10-18 22:08:00
vb调用fortran生成的dll时,我想将dll中程序执行情况在窗口中显示出来,不知道fortran的dll中可以创建窗口吗?
回复列表 (共11个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-10-19 10:39:00
最好不要用FORTRAN创建窗口,你可以整一个回调函数:)
板凳
gxlblue [专家分:0] 发布于 2011-10-19 11:47:00
老师要求的。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?
3 楼
gxlblue [专家分:0] 发布于 2011-10-19 11:48:00
[quote]最好不要用FORTRAN创建窗口,你可以整一个回调函数:)[/quote]
老师要求的。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?
4 楼
dongyuanxun [专家分:7180] 发布于 2011-10-19 12:07:00
dll里不是可以放执行语句的么
你可以另写一个窗口程序嘛
dll来调用这个exe
二者信息交换可以考虑使用文件
5 楼
cgl_lgs [专家分:21040] 发布于 2011-10-19 14:45:00
[quote][quote]最好不要用FORTRAN创建窗口,你可以整一个回调函数:)[/quote]
老师要求的,没办法。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?[/quote]回调函数只是返回字符串而已,谁让你在DLL里用输出窗口的语句了~~~
6 楼
gxlblue [专家分:0] 发布于 2011-10-19 16:31:00
[quote]dll里不是可以放执行语句的么
你可以另写一个窗口程序嘛
dll来调用这个exe
二者信息交换可以考虑使用文件[/quote]
能说得具体点吗?没有明白。这个窗口程序用什么语言编写才能在fortran的dll中调用,而且dll怎么调用exe文件。谢谢!
7 楼
gxlblue [专家分:0] 发布于 2011-10-19 16:39:00
[quote][quote][quote]最好不要用FORTRAN创建窗口,你可以整一个回调函数:)[/quote]
老师要求的,没办法。vb调用fortran dll时,fortran程序中不能有向窗口输出的语句,有什么办法可以实现呢?[/quote]回调函数只是返回字符串而已,谁让你在DLL里用输出窗口的语句了~~~[/quote]
因为要求能实时监控程序的执行情况,所以我之前是用fortran的quickwin工程,但现在用vb编界面,fortran dll进行计算,怎么实现之前的功能呢?有什么方法?谢谢!
8 楼
cgl_lgs [专家分:21040] 发布于 2011-10-19 17:19:00
1、不要用QuickWin;
2、将输出到界面的sub名做为参数传入到fortran编写的dll中。
3、在fortran里,把需要输出的文字改为调用那个传入的sub;
9 楼
gxlblue [专家分:0] 发布于 2011-10-20 09:24:00
[quote]1、不要用QuickWin;
2、将输出到界面的sub名做为参数传入到fortran编写的dll中。
3、在fortran里,把需要输出的文字改为调用那个传入的sub;[/quote]
可以讲的具体点吗?不是很明白。
10 楼
cgl_lgs [专家分:21040] 发布于 2011-10-20 10:25:00
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
我来回复