|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.04.2012, 16:15 | #1 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
закрытие формы - в чем ошибка?
привет всем))
подскажите пожалуйста, есть код, но почему-то на закрытие формы выдает ошибку "Run-time error 1004: Введено недопустимое имя" и отсылка идет на саб, который должен выполняться, если форма все еще открыта. в чем может быть дело?? Код:
Последний раз редактировалось Bape}l{ka; 02.04.2012 в 16:20. |
02.04.2012, 16:30 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Или вместо Unload Me напишите Me.Hide |
|
02.04.2012, 16:49 | #3 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
ты же катавасия..
почему-то продолжают выполняться действия для этой формы (другой саб этой формы), как-будто она не закрылась О.о ничего не понимаю |
02.04.2012, 16:51 | #4 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
в итоге просто в другом сабе поставила проверку, но все-же не понятно, с какой стати он перескакивает отсюда туда при том, что тут есть команда "Exit Sub"
|
02.04.2012, 17:30 | #5 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Bape}l{ka,
1. Откуда вызывается данная процедура? 2. Почему не объявлены переменные? Неужели они все приватные/публичные?
Тишина – самый громкий звук
|
03.04.2012, 04:00 | #6 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Если выполняемая процедура находится в программном модуле, то ключевое слово "Me" относится не к открытой форме. Поэтому, к форме, которую требуется закрыть, нужно обращаться по имени. Например:
Код:
Чем шире угол зрения, тем он тупее.
|
03.04.2012, 09:37 | #7 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
nerv
спасибо, подсказали)) я ж этот саб вызываю из другой процедуры, соответственно он выходит из этого и возвращается обратно. а подскажите, есть ли такая команда, которая прекращала бы выполнение макроса вообще?? без возвращений к предыдущим процедурам =ь п.с.: наверно проще объединить сабы п.п.с.: да, тут все переменные публичные - это плохо? |
03.04.2012, 11:32 | #8 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Мое мнение - чем меньше публичных переменных, тем лучше.
Тишина – самый громкий звук
|
03.04.2012, 12:41 | #9 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
03.04.2012, 13:23 | #10 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
SAS888, спасибо, я поняла, в итоге сделала FinishVvod не сабом а функцией Boolean, и уже в главной процедуре осуществляю выход)))
nerv, я думала, что может существуют какие-то объективные причины... а так, мне гораздо удобнее с публичными переменными) конечно, специфические я объявляю. а постоянно используемые так и висят)) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Закрытие формы | annaangel | Общие вопросы Delphi | 2 | 09.10.2009 13:26 |
Закрытие формы.... | sergiksergik | Microsoft Office Excel | 18 | 22.09.2009 20:23 |
Закрытие формы | RIO | Общие вопросы Delphi | 2 | 27.08.2009 17:10 |
Закрытие формы | girz | БД в Delphi | 7 | 13.05.2009 22:54 |