Несоответствие типов - Variant vs. Long

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Fencer
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 64
Зарегистрирован: 01.06.2005 (Ср) 16:19
Откуда: Новосибирск

Несоответствие типов - Variant vs. Long

Сообщение Fencer » 29.09.2005 (Чт) 13:00

У меня есть 2 приложения, одно при нажатии на кнопку отправляет другому (ВинСоком) строку "Screen". Когда приложение №2 получает "Screen", оно в 3 переменных пихает : длину, высоту экрана и DC экрана и отправляет приложению №1. Оно в свою очередь записывает их в массив с размерностью 3 типа long, а затем БитБлт'ит в пикчур... то бишь, прога для просмотра копии экрана... Вот тут-то и начитнаются сложности
Код: Выделить всё
Public buffer
Public saved(0 to 2) as long

Dim n as Byte
Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
Winsock.GetData buffer
If n = 3 Then Exit Sub
saved(n) = buffer
n = n + 1
End Sub

Он ругается Несоответствие типов на строку saved(n) = buffer...
Ничё не пойму!
З.Ы.: Размеры экрана - Integer, DC - Long... или это не важно?
Спасибо

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

Сообщение GSerg » 29.09.2005 (Чт) 13:02

На входе у тебя байтовый буфер.
Сколько, как и куда из него читать, определяется вторым параметром метода GetData, который ты не используешь.
Читать хэлп.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Fencer
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 64
Зарегистрирован: 01.06.2005 (Ср) 16:19
Откуда: Новосибирск

Сообщение Fencer » 30.09.2005 (Пт) 10:39

Но позволь... что за параметр? ВБ подсказывает - GetData (data, [type], [maxLen]). Ты про Type? Тогда как его правильно вводить? Я пробовал и Long, и as Long, и всяко... ему нравится только строчка "GetData buffer, [Long]", но она не нравится компилятору. Эта... и ещё одна просьба - ПожалуйстА, не надо меня посылать... на MSDN, я понимаю, что там всё есть, но он написан не по-нашенски, а тебе ведь не так уж тяжело и ответить, правда? :)

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

Сообщение GSerg » 30.09.2005 (Пт) 11:42

Правда.
vbLong.
Фмэсэдэнэ.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 133

    TopList