回 帖 发 新 帖 刷新版面

主题:【求助】如何在被调用的DLL中实现输出提示信息的功能?

(因不知道该在C#版提问,还是在Fortran求助,所以就全贴了)
在用Fortran做数值计算时,有时需要输出一些提示信息,用来告诉用户程序运行到了哪一步,在单纯的Fortran程序中可以用Write语句进行如下操作:
     !the following code is Fortran with main program 
     Program Add
         integer A,B
         integer Sum
         A=1
         B=2
         Write(*,*)"The Value of A&B has been set!"
         Sum=A+B
         Write(*,*)"Add Operation has been done!"
     End Program Add
当用C#调用Fortran编译好的DLL文件中的函数时,如果需要在DLL中实现同样的功能——即需要显示在DLL内运行的状态提示信息,该如何实现:(如果换成DLL被C#调用时,代码中原来的两条Write语句肯定不能用了)
    !the following code is Fortran to DLL 
    Function Add(A,B)
       !DEC$ Dllexport alias:'Add'::Add
       integer A,B
       integer Add
       Add=A+B
     End Function ADD

回复列表 (共3个回复)

沙发

如果C#工程是类库(dll)或者windows服务,那么很遗憾,没法直接输出到显示器
如果是控制台(console),可以使用Console.Write输出
如果是windows forms程序,那输出方式更多了,文本框/直接输出到窗体/标签等等,发挥想象力吧

板凳

to:jzyray
    是windows forms程序。我从事的专业是用Fortran来做数值计算的,自己对C#不熟悉,在fortran的DLL文件里倒是可以加些代码创建一个控制台窗口用来输出,但那样不太方便,程序运行起来看这也别扭。现在想用你提到的“文本框/直接输出到窗体/标签等等”来实现,但不知如何操作,能不能给举个例子啊:)

3 楼

这个。。。。说起来就麻烦了,你既然用fortran能够实现干吗还用C#二次开发

我来回复

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