Фрагмент на C++

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Фрагмент на C++

Сообщение ism » 02.06.2005 (Чт) 0:37

Кто знает как можно перевести это на VB. Просто незнаю как из Long, корорый возвращается LockResource получается Byte

Код: Выделить всё
BYTE *lpResource;
...
lpResource = LockResource(hMem);
nID = LookupIconIdFromDirectoryEx((PBYTE) lpResource, TRUE,
    CXICON, CYICON, LR_DEFAULTCOLOR);

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

Сообщение GSerg » 02.06.2005 (Чт) 4:49

А Byte и не получается. Получается BYTE*, а это разные вещи...

Код: Выделить всё
dim lpResource as long
...
lpResource = LockResource(hMem)
nID = LookupIconIdFromDirectoryEx(lpResource, 1, CXICON, CYICON, LR_DEFAULTCOLOR)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 03.06.2005 (Пт) 0:17

Не, ты меня неправильно понял, просто LookupIconIdFromDirectoryEx тоже Byte, а LockResource возвращает Long

API Viewer писал(а):... LookupIconIdFromDirectoryEx Lib "user32" Alias "LookupIconIdFromDirectoryEx" (presbits As Byte, ...


Конечно этот первый байт можно с помощью CopyMemory получить, но я думаю врятли апи нужен только первый байт

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.06.2005 (Пт) 2:05

ism, обрати внимание, что в объявлении ByVal нету. Значит, передаётся адрес байта.
Переобъяви по-нормальному и сделай, как говорит GSerg. Он тебя понял правильно ;-)
Изображение


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

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

Сейчас этот форум просматривают: AhrefsBot, Majestic-12 [Bot], Yandex-бот и гости: 172

    TopList