Как из VB в плюснутую dll передать адрес структуры. SOS!

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Zerg1
Сообщения: 6
Зарегистрирован: 21 окт 2005, 20:45

Проект в вб 6.0
имею структуру такого вида

Private Type MESSAGE
rnd As Long
ID As Long
msg_type As Long
nver As Single
lang As Long
name As String * 32
hash As Long
gameN As Long
Y As Long
move As String * 4096
map As String * 16384
text As String * 8192
End Type

в тексте проги описываю конкреный эземпляр структуры
Static m as MESSAGE

дык вот два вопроса:
1) как занулить m одним махом? Пробовал ZeroMemory использовать, но винда вышибает приложение нафрен.
2) Как описать параметр в декларации функции из длл и как передать в функцию из длл адрес этой чёртовой структуры, чтобы эта функа могла эту структуру заполнить?!

Я уже устал, вроде Вася такой приятный язык, но элементарные вещи вводят меня в ступор.
alexx
Сообщения: 116
Зарегистрирован: 02 июл 2004, 22:29
Откуда: Hamburg

Вот так передают структуры:

Код: Выделить всё

Private Type DOCINFO
    pDocName As String
    pOutputFile As String
    pDatatype As String
End Type

Private Declare Function StartDocPrinter Lib "winspool.drv" Alias _
   "StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, _
   pDocInfo As DOCINFO) As Long
Создай ClassModul, засунь туда структуру, когда надо:

Код: Выделить всё

Set My_Var = Nothing
Set My_Var = new MyClass
-------------
Лень - двигатель прогресса!
Zerg1
Сообщения: 6
Зарегистрирован: 21 окт 2005, 20:45

большое спасибо!
Ответить