| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB .NET > ОШИБКА (ничего не понимаю) |
| Автор: HellMasterHaiL 1.2.2007, 15:15 | ||
| привет всем!) вот столкнулся с такой вот ошибкой:
самое инетересное, не указывается в какой строке ошибка, не могу отловить даже в каком месте процедуры ЭТО возникает, т.к. ошибка вылазить не каждый раз (так же не могу определить в какой ситуции ЭТО происходит, один раз компилю - все нормально, второй раз - ЭТО) пишу на 2005й студии, в процедуре есть пару циклов и также филю несколько таблиц в датасете. как я понимаю, подобная ошибка может возникать в циклических блоках... так вот вопрос, как это обойти/исправить и что вообще CoWaitForMultipleHandles |
| Автор: HellMasterHaiL 1.2.2007, 16:39 |
| ivashkanet, извини, но как обозвать тему я так и не сообразил... спасибо, но как узнать в какие места необходимо сунуть Application.DoEvents()? а если еще эти места находятся внутри кода, сгенерированного конструктором? |
| Автор: ivashkanet 1.2.2007, 16:45 | ||||
Как вообще такое может быть? Ты видел чтобы конструктор использовал циклы или трудоемкие процедуры? Единственное что он делает --- это создание компонентов, расположение их на форме и изменение их свойств.
В тех местах где ты выполняешь длительные и ресурсоемкие операции. Чтение из базы, обработка данных, ... Это просто правила, причем тут я Например: Ошибка "не удалось перейти из COM-контекста 0x1a09a0 в COM-контекст 0x1a0b10 за 60 секунд" (разделить на две строчки) |
| Автор: HellMasterHaiL 1.2.2007, 17:19 | ||||
ivashkanet, чтение из БД я произвожу штатными (конструкторскими) способами, есть парочка запросов, которые читают большой объем инфы(я бы сказал очень большой, т.к. для некоторых ТейблАдаптеров пришлось вручную увеличивать КоннекшенТаймАут), а в коде это занимает всего навсего одну строчку :
и есть у меня предположения (может быть я совсем не прав), что именно одна из подобных строк и вызывает подобное сообщение... если идти пошагово (встав на эту строку и нажав кнопку F11) я естественно попадаю в DataSet.Disinger.vb (код згенерированный конструктором), так вот при выполнении фила на ТейблАдаптере мне ведь не поможет:
или поможет? |
| Автор: ivashkanet 1.2.2007, 17:21 |
Попробуй А вообще попробуй брать из БД только необходимую информацию |
| Автор: HellMasterHaiL 1.2.2007, 17:52 | ||
спасибо, вроде помогло, осталось проверить при большой загрузке компа в том то и весь кирпич, что беру необходимый минимум, но этот минимум большого размера ( 16 секундный запрос на прямую с сервера выдает 356 записей по 86 полей, учавствует около 12-15 таблиц)... вот так вот( а выковыривать все адаптеры - замучаюсь) |
| Автор: ivashkanet 1.2.2007, 18:15 | ||
Тогда можно заполнение датасета с помощью Me.CheloveckTableAdapter.Fill(Me.DS_SocDefence.Cheloveck) выделить в отдельный поток. Но, судя по всему, это для тебя приличный пласт знаний. Если интересно --- пиши, покумекаем Добавлено @ 18:16 А приложение немножко "подвесить", показав только прогрессбар |
| Автор: HellMasterHaiL 1.2.2007, 18:31 |
| ivashkanet, интересно, еще как интересно, рассказывай давай))) , если конечно не в падлу, или дай линку на литру (лучше русскую \=-) ) |
| Автор: ivashkanet 1.2.2007, 18:54 |
| http://www.bytemag.ru/?ID=600871 пока что нашел. Прочитай, потом будем капать дальше. Что будет непонятно --- спрашивай в отдельной теме А вообще http://www.google.com/search?q=%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0+%D1%81+%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8+VB+.Net&hl=ru&client=opera&rls=ru&hs=gvd&start=10&sa=N |
| Автор: HellMasterHaiL 1.2.2007, 19:08 |
| премного благодарен |
| Автор: Bladerender 10.9.2010, 15:50 | ||
off: а я вот в гугле эту тему нагуглил, так что перед тем как в гугл идти, нуна подумать, не приведет ли он тебя в твою же тему. |
| Автор: Pilger 11.9.2010, 14:47 |
| И к чему это? Ты на дату последнего сообщения смотрел? |