Ошибка - помоги разбораться

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

Ошибка - помоги разбораться

Сообщение АндрейБ » 11.02.2010 (Чт) 17:22

Я пишу базу на VB6, все вроде работает. Но периодически я ее ставлю на новую машину (например когда система падает).
На новую машину я поставил WINDOWS XP,поставил OFFICE 2002, и даже VB6. Скопировал базу, но выпадает ошибка в форме где находиться MSFLEXGRID. Я выбираю заполнить форму, она заполняется записями - все ок. Но когда я перевожу курсор на MSFLEXGRID, у меня настроены действия что бы бегала строка по записям вместе с курсором (MSFlexGrid1_MouseMove).
Но происходит следующее, база тормозит, строка еле мигает на первой записи, потом через несколько секунд выдает ошибку:
________________
Run time error '28'
Out of stack space
________________
Причем ошибка не дает ссылку куда-то в код где ошибка. Подскажите в чем причина.
Просто я полгода назад сталкнлся с такой проблемой, решил вопрос после установки какой-то базы которой я не пользуюсь. Сейчас я кончено могу попробывать найти эту базы установить и возможно проблема уйдет. Но я хотел бы разобраться, может что-то не подключено или нет какой-то библиотеки?
Кто ищет, тот всегда найдет ...

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

Re: Ошибка - помоги разбораться

Сообщение Хакер » 11.02.2010 (Чт) 17:30

Какой кошмар. Деградация человечества.
Чел видит ошибку «Стек переполнен»  и предполагает, что это из-за того, что «что-то не подключено».

Так вот.
Бросаешь свою базу. Зарываешься в книжки и читаешь, что-такое стек.
Потом бросаешь книжки и идёшь в театр. Или в музей. Или на природу: кататься на лыжах.
По возврату опять зарываешься в книжки и читаешь с начала. При повторном чтении увидишь много нового. Затем повторяешь пункт с театром/лыжами. И так до тех пор, пока после N-ного прочтения не будет возникать новых подробностей.

Потом делаешь абсолютно ту же процедуру, но вместо стека — рекурсия.

Потом обобщаешь. Лыжи, театр, обобщение, сон, обобщение, сон, обобщение, театр, лыжи...

Потом изучаешь, что такое Event-Driven-парадигма. Вышеуказанным методом.

Потом думаешь, как при использовании Event-Driven-парадигмы могут возникать неконтролируемые рекурсии с израсходыванием всего стека.

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

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Ошибка - помоги разбораться

Сообщение Antonariy » 11.02.2010 (Чт) 17:43

Цветасто. Если вычленить суть, Хакер говорит о том, что в событии MSFlexGrid1_MouseMove ты выполняешь какой-то код, который опять генерирует событие MSFlexGrid1_MouseMove. Грубо говоря, процедура MSFlexGrid1_MouseMove неконтролируемо вызывает саму себя.
Лучший способ понять что-то самому — объяснить это другому.

АндрейБ
Бывалый
Бывалый
 
Сообщения: 276
Зарегистрирован: 18.12.2004 (Сб) 17:00
Откуда: Санкт-Петербург

Re: Ошибка - помоги разбораться

Сообщение АндрейБ » 11.02.2010 (Чт) 19:05

Antonariy - наястоящий мужик - уважаю. Дал короткий и внятный ответ, настоящий талантливый парень. После твоего ответа сразу понимаешь такие форумы нужны и помогают. Просто Antonariy - почему на 6 машинах таже программа работает без ошибок больше года, а на 7 новой эта ошибка есть - что, 6 машин проглатывают цикличность а 7 не может? Поможешь, могу приложить немного кода?
Хакер - тоже мужик, но он в "Матрице" . Я работаю 9 часов на работе, и у меня очень загруженный график, и параллельно ваяю программу (в лучшем случае 1 час в день - это мое хобби + автоматизация = повышение эффективности работы фирмы). Если бы я был программистом, я бы наверное не задавал таких на ваш взгляд "тупых" вопросов. До и после работы я занимаюсь детьми, женой, домом, собой, хожу в кино театр концерты спортзал и конечно еще часов 7 у меня остается на сон. Книги я читаю, но в основом по работе и в основном вечером когда есть силы и время. Поэтому я стараюсь оптимизировать свою жизнь. А если вы такой умный, не надо это так это демонстрировать - скромность сестра таланта.
Кто ищет, тот всегда найдет ...

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

Re: Ошибка - помоги разбораться

Сообщение Хакер » 11.02.2010 (Чт) 19:14

Если ты ваяешь программу, даже если на это выделен лишь 1 час в сутки, то значит всё равно есть время на это занятие. Значит надо в рамках этого времени заниматься саморазвитием.
А если вы такой умный, не надо это так это демонстрировать - скромность сестра таланта.

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

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Ошибка - помоги разбораться

Сообщение Antonariy » 12.02.2010 (Пт) 11:38

АндрейБ писал(а):почему на 6 машинах таже программа работает без ошибок больше года, а на 7 новой эта ошибка есть - что, 6 машин проглатывают цикличность а 7 не может?
Бывает…
АндрейБ писал(а):Поможешь, могу приложить немного кода?
Нужно содержимое MSFlexGrid1_MouseMove.
Лучший способ понять что-то самому — объяснить это другому.

АндрейБ
Бывалый
Бывалый
 
Сообщения: 276
Зарегистрирован: 18.12.2004 (Сб) 17:00
Откуда: Санкт-Петербург

Re: Ошибка - помоги разбораться

Сообщение АндрейБ » 12.02.2010 (Пт) 15:32

Я пользуюсь на работе книгой Мак-Мануса. Прочел всю и стараюсь понемногу осваивать - но реально не хватает времени - и что бы освоить основательно нужно учиться (с азов) - а по факту решаю проблемы по мере необходимости и так как умею.
Вчера была та ошибка, сейчас другая:
______________________________
RUN TIME ERROR '-214747848 (80010108)':
Automation error
______________________________

Проблему нашел - обрабатывал 2 события MouseMove = перемещение мыши и SelChange = выбор выделения и получалось типа зацикливания (во втором событии), исправил. Спасибо за поддерку.
Кто ищет, тот всегда найдет ...

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

Re: Ошибка - помоги разбораться

Сообщение Хакер » 12.02.2010 (Пт) 15:47

АндрейБ писал(а):Я пользуюсь на работе книгой Мак-Мануса. Прочел всю и стараюсь понемногу осваивать - но реально не хватает времени - и что бы освоить основательно нужно учиться (с азов) - а по факту решаю проблемы по мере необходимости и так как умею.

Я только актёра такого знаю. На важно, какой книгой ты пользуешься. Хоть книгой жалоб и предложений. Важно, чтобы в голове под их влиянием строились правильные структуры.

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


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 24

    TopList