Как использовать Adler32 в VB?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
drHass
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 15.04.2005 (Пт) 11:56
Откуда: Moscow

Как использовать Adler32 в VB?

Сообщение drHass » 15.04.2005 (Пт) 12:00

Кто подскажет, как в VB объявить функцию Adler32 из zlib.dll (считает контрольную сумму) и как ею пользоваться? На сайте http://www.zlib.net/manual.html она описана только для СИ и объявляется так:
uLong adler32 (uLong adler, const Bytef *buf, uInt len);

У меня массив байт. Объявил в проекте
Private Declare Function adler32 Lib "zlib1.dll" _
(adler As Long, buf As Any, lenbuf As Long) As Long и пытаюсь подсчитать сумму так:
tm& = adler32(n&, bt(0), ubound(bt)+1)
Вылетаю. Что не пробовал, все равно вылетаю (ошибка защиты).

Помогите, плз!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.04.2005 (Пт) 14:01

zlib бывает двух модификаций - одна cdecl, другая stdcall. У тебя, по всей видимости, cdecl. А нужна-таки stdcall. Ищем, качаем :) Но перед этим первый и последний параметр объявляем ByVal, а не то, что у тебя :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

drHass
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 15.04.2005 (Пт) 11:56
Откуда: Moscow

Как использовать Adler32 в VB?

Сообщение drHass » 16.04.2005 (Сб) 18:27

Спасибо. Надо было не zlib1 а zlib.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40

    TopList