我正在使用Fortran中的QuickWin命令构建一个简单的数据库界面。提供命令APPENDMENUQQ
和INSERTMENUQQ
来调用回调例程。文档中有一个预定义的例程列表。
问题:是否可以调用您自己创建的例程?
我将Fortran与Intel编译器v14一起使用。
答案 0 :(得分:2)
是的,有可能。而不是预定义名称之一,而是指定一个外部子例程的名称,该子例程具有一个类型为default LOGICAL的输入参数,该参数指定是否选中特定菜单项。 [编辑:它是子例程,而不是函数。]
这在APPENDMENUQQ的《英特尔Fortran语言参考》中有所记录。您还可以查看Using Intel® Visual Fortran to Create and Build Windows*-Based Applications,以获取有关使用QuickWin和修改菜单的详细信息,尽管我注意到此处的文字并未显示用户回调的示例。
答案 1 :(得分:0)
在APPENDMENUQQ中,在第4个参数中指定回调。我不知道英特尔编译器是否提供了与其祖先MS PowerFortran相同的示例,或者它们是否在进入DEC,康柏和英特尔的旅程中迷失了。
在MS PowerFortran中,示例位于Projects目录中-例如,Projects \ Samples \ FPS \ General \ Poker。如果有,请查看scoring.f90-那里有很多回调示例。或者,如果您可以保留旧的MSDN订阅磁盘(大约在2005-2006年),则可以在其中找到它们。
回调使用一个逻辑变量。这告诉您是否选中了菜单项。大多数回调示例看起来像
subroutine xxx(unused)
logical unused
...
return
call unusedqq(unused)
end subroutine xxx
这与史蒂夫(Steve)所描述的不同-接口在从MS到Intel的过渡中可能已更改。