自从我使用 FoxPro 做任何事情以来已经有很多年了,但是我有一个需要工作的遗留系统。好的,我可以从 FoxPro 调用基于 COM 的应用程序,例如 MapPoint 或 Excel。我以前做过。但是,如何将函数或对象方法作为事件回调传递?甚至可能吗?(我在网上找不到任何东西或我设法找到的 FoxPro 书籍)
以下是我的意思的 VB6 示例,取自 MapPoint 文档。碰巧OnConnection()
它本身就是一个回调;但调用moaApp.AddCommand()
将回调函数 () 的引用作为菜单回调传递SayHello()
给 MapPoint ( )。moApp
这对这个问题并不重要,但我可能需要捕获 Save、Quit 和 Menu 回调事件。
Dim moaApp As MapPoint.Application
Public Sub SayHello()
MsgBox "Hello"
End Sub
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As
AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
On Error GoTo error_handler
Set moaApp = Application
'Add this command to the menu (HOW DO I DO THIS IN FOXPRO?)
moaApp.AddCommand "Saying Hello", "SayHello", Me
Exit Sub
error_handler:
MsgBox Err.Description
End Sub