Страница 1 из 1

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

Добавлено: 21 окт 2005, 20:52
Zerg1
Проект в вб 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) Как описать параметр в декларации функции из длл и как передать в функцию из длл адрес этой чёртовой структуры, чтобы эта функа могла эту структуру заполнить?!

Я уже устал, вроде Вася такой приятный язык, но элементарные вещи вводят меня в ступор.

Добавлено: 22 окт 2005, 16:39
alexx
Вот так передают структуры:

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

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

Добавлено: 25 окт 2005, 01:14
Zerg1
большое спасибо!