VB валится

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

VB валится

Сообщение Debugger » 03.01.2009 (Сб) 16:49

Создаю оболочку для Get/SetDIBits. Как сделаю - обязательно выложу в кирпичи. Пример кривоватый: в памяти массив Bts(2,Wid,Hei) располагается не RGB RGB RGB, а RRR .... GGG .... BBB .... (правильно думаю?). Но суть такая - CopyMemory выполняется правильно и успешно, а после закрытия формы убивается VB.
WinXP SP3.
Вложения
DibClass.rar
(10.69 Кб) Скачиваний: 28
Последний раз редактировалось Debugger 03.01.2009 (Сб) 18:51, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: VB валится

Сообщение Хакер » 03.01.2009 (Сб) 18:41

Не открывая проект можно сказать, что раз такое происходит, причина этому в том, что ты копированием блока памяти задеваешь какой-то регион памяти, который ты задевать не должен. Т.е. к примеру третий аргумент CopyMemory у тебя оказывается гораздо больше, чем надо.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Re: VB валится

Сообщение tyomitch » 03.01.2009 (Сб) 20:11

Microsoft Visual Basic писал(а):File not found: 'mdlBaseFunc.bas'--Continue Loading Project?
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: VB валится

Сообщение Хакер » 03.01.2009 (Сб) 20:13

tyomitch, из него нехватает только функции min(a, b), которую легко написать самому. Но да, косяк.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Re: VB валится

Сообщение tyomitch » 03.01.2009 (Сб) 20:28

Ну, перенёс
Код: Выделить всё
        ArrayPointer = ArrayPointer + ArrayWid * 3 + 3

строчкой ниже.
Вроде заработало.
Оно?
Изображение

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: VB валится

Сообщение Debugger » 03.01.2009 (Сб) 21:55

Оно :D . Спасибо.
Это ж надо, из-за неправильного порядка VB так убивается. А почему он сваливается только после закрытия формы? По идее, должен сразу после CopyMemory.
P.S. после энной соты раз запуска этого примера VB не свалился. Зато в нем все строчки открытого класса заполнились "Imp". Испугался я не на шутку.


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

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

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

    TopList