我正在探索NativeBoost
。以为我将从一个简单的事件钩开始。为了定义回调,我将NBFFICallback
子类化,并添加了我的fnSpec,返回类型为LRESULT
。
fnSpec
^ 'LRESULT ( INT nCode, LPARAM lParam , WPARAM wParam)'
在我使用
实例化之后mycallback := MyCallback on: someBlock.
我在Unable to resolve external type:
NBFFICallout >> resolveType: aTypeName
错误
在这里,我发现正在从requestor
查找类型的绑定,因为它将从类本身查找NBNativeFunctionGen
,因此类型不会被解析。
不知怎的,我相信如果类型得到解决,我将能够创建回调,然后将其传递给我的钩子函数。我是对的吗?
此外,如果以某种方式(没有触及实际的NB代码)是正确的,请将我的对象放在哪里我将共享池引用Win32类型(NBWinTypes)作为requestor
并使类型以这种方式得到解决?
简而言之,如何将特定类型添加到回调中。
感谢。
答案 0 :(得分:1)
我不确定,我手头没有Windows机器来检查,但这些类型是在 NBWinTypes 共享池中定义的
所以,我认为你应该使用ffi调用将它作为poolDictionary包含在类中。
Object subclass: #MyClass
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: 'NBWinTypes'
category: 'NativeBoost-Win32'