Страница: 1 |
Вопрос: Unload Control Array | Добавлено: 18.11.02 02:10 |
Автор вопроса: ![]() ![]() |
В каком случае появляется ошибка Например Unload Text1(1) Проблему я решил перемещением кода выгрузки |
Ответы | Всего ответов: 11 |
Номер ответа: 1 Автор ответа: ![]() ![]() Вопросов: 2 Ответов: 117 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 18.11.02 07:32 |
Возможно, если Control связан с ДБ через DataSource, то VB не может их выгрузить. Попробуй сделать Set Control.DataSource = Nothing |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 18.11.02 08:37 |
Точно не связан. Хотя кто знает |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 2 Ответов: 117 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 18.11.02 09:20 |
Я так понял, ты сначала грузишь контролы командой Load, а затем по мере необходимости их выгружаешь командой Unload. Dim WithEvents cmdSub As CommandButton Private cmdSub_Click() И используй их отдельные Sub'ы |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 19.11.02 04:08 |
Хм. Неплохая идея. Надо будет попробовать. Хотя наверное... У меня считывается файл, затем вызывается процедура его обработки, а из неё уже процедура выгрузки массива контролов. Как это совместить ? |
Номер ответа: 5 Автор ответа: ![]() ![]() Вопросов: 2 Ответов: 117 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 19.11.02 04:39 |
Создай отдельный Класс по работе с файлами и зарегистрируй в нем CommandButton: Dim WithEvents cmdUnloadAll As CommandButton Sub RegisterControl(ByRef cmd As CommandButton) А в форме этот класс определи WithEvents и по событию UnloadAll выгрузы необходимые Контролы.
|
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 19.11.02 07:11 |
Да как класс с событием контрола создавать я знаю. Я имел ввиду в моей ситуации. |
Номер ответа: 7 Автор ответа: ![]() ![]() Вопросов: 2 Ответов: 117 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 19.11.02 08:01 |
Да в том-то и дело, что я ни как не могу понять постановку задачи. |
Номер ответа: 8 Автор ответа: ![]() ![]() Вопросов: 2 Ответов: 117 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 19.11.02 18:16 |
Сколько ни извращался. И загружает и выгружает все контролы без ошибок. Создал рекурсивный вызов функции до 50.000 колена. Нет проблем. Давай поподробнее, может до чего нибудь дойдем. Подозреваю, что ты нарвался на что-то новое, хотелось-бы поглядеть. |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 22.11.02 08:01 |
Спасибо. Сам нашёл в VB5.HLP Unable to unload within this context (Error 365) In some situations you are not allowed to unload a form or a control on a form. This error has the following causes and solutions: · There is an Unload statement in the Paint event for the form or for a control on the form that has the Paint event. Remove the Unload statement from the Paint event. · There is an Unload statement in the Change, Click, or DropDown events of a ComboBox. Remove the Unload statement from the event. · There is an Unload statement in the Scroll event of an HScrollBar or VScrollBar control. Remove the Unload statement from the event. · There is an Unload statement in the Resize event of a Data, Form, MDIForm, or PictureBox control. Remove the Unload statement from the event. · There is an Unload statement in the Resize event of an MDIForm that is trying to unload an MDI child form. Remove the Unload statement from the event. · There is an Unload statement in the RePosition or Validate event of a Data control. Remove the Unload statement from the event. · There is an Unload statement in the ObjectMove event of an OLE Container control. Remove the Unload statement from the event. |
Номер ответа: 10 Автор ответа: ![]() ![]() Вопросов: 2 Ответов: 117 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 23.11.02 05:58 |
Мне кажется, что все зависит от способа загрузки контролов. При этом соэдается точная копия контрола с индексом 0. |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 23.11.02 13:16 |
Это не верно. И хватит на этом. Я уже нашёл причину ошибки. Она описана выше. В некоторых событиях контролов невозможно выгрузить массивы других контролов, загруженных командой лоад.
Может моё мнение тоже не верно, но я считаю что слово "контект" тут не спроста. Скорее всего что-то связанное с перерисовкой объекта. |
Страница: 1 |
|