В настоящее время я успешно использую функцию SendMessage API Win32 для отправки текста между двумя потоками с использованием параметра WM_SETTEXT.VB6 SendMessage для отправки пользовательских типов данных
Что я хотел бы сделать, это отправить пользовательский тип данных вместо примитивных типов данных.
Так скажем, у меня есть
Type myType
a as Integer
b(5) as Boolean
d(15) as Double
End Type
Dim tmp as myType
Я хотел бы быть в состоянии:
Call SendMessage(dstHWnd, WM_SETTEXT, 0, tmp)
Я предполагаю, что я должен был бы использовать WM_COPYDATA или аналогичный, но другой вопрос, это производит ошибка, потому что мой тип данных не может быть введен в Любые, для определения функции:
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Это можно уговорить это преобразование? Или существует альтернативный метод лучшей практики (быстрый и оптимальный)?
Просто разные потоки в одном и том же процессе (что трудно сделать безопасно в VB6) или в разных процессах? Последнее гораздо более строгое. – Deanna