У меня была аналогичная проблема между VB.NET и пользовательской C ++ DLL. Исправлено благодаря @Hans. Я много раз обязан этому сайту для всех проблем, с которыми мне пришлось пройти. Добавляем решение проблемы + в надежде, что он помогает другим видеть одно и то же решение в другом контексте.
Объявил это (в модуле)
Public Delegate Sub CB_FUNC(ByVal x As Integer, ByVal y As Integer)
Public Declare Sub vidProc_cb_MouseClick Lib "C:\Users\.....\vidProc\product\vidProc.dll" (ByVal addr_update As CB_FUNC)
Имел простой вызов в кнопке button_click:
vidProc_cb_MouseClick(AddressOf updateXY)
Я бы получил ошибку «CallbackOnCollectedDelegate». Не сразу, но после взаимодействия с другими объектами в форме, а затем пытается вызвать обратный вызов (который в моем случае был щелчком мыши в окне OpenCV).
1) Объявление (в классе формы, декларации)
Private addr_update As CB_FUNC
2) Определение addr_update для формы Load
addr_update = New CB_FUNC(AddressOf updateXY)
3) Вызов функции «set callback» с помощью функции новый указатель (в кнопке button_click)
vidProc_cb_MouseClick(addr_update)
Я думаю, что понял @Hans и внедрил его правильно (я не могу воспроизвести ошибку). Надеюсь, это кому-то поможет.
Вы должны определить thread
в методе данных
data () {
return {
thread: {
body: '',
}
}
}
Кроме того, голова должна быть определена как метод, а не как свойство.
head () {
return {
meta: [
{
hid: 'description',
name: 'description',
content: this.thread.body
}
]
}
}
aznable По-видимому, вы должны удалить здесь null
thread: null => thread: ""
и вставить это в асинхронные методы
async getId() {
this.thread = await threads.find(t => t.id === this.$route.params.id)
}
Best!