![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
![]()
привет всем))
подскажите пожалуйста, есть код, но почему-то на закрытие формы выдает ошибку "Run-time error 1004: Введено недопустимое имя" и отсылка идет на саб, который должен выполняться, если форма все еще открыта. в чем может быть дело?? Код:
Последний раз редактировалось Bape}l{ka; 02.04.2012 в 16:20. |
![]() |
![]() |
![]() |
#2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Или вместо Unload Me напишите Me.Hide |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
![]()
ты же катавасия..
почему-то продолжают выполняться действия для этой формы (другой саб этой формы), как-будто она не закрылась О.о ничего не понимаю |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
![]()
в итоге просто в другом сабе поставила проверку, но все-же не понятно, с какой стати он перескакивает отсюда туда при том, что тут есть команда "Exit Sub"
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
![]()
Bape}l{ka,
1. Откуда вызывается данная процедура? 2. Почему не объявлены переменные? Неужели они все приватные/публичные?
Тишина – самый громкий звук
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Если выполняемая процедура находится в программном модуле, то ключевое слово "Me" относится не к открытой форме. Поэтому, к форме, которую требуется закрыть, нужно обращаться по имени. Например:
Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
![]()
nerv
спасибо, подсказали)) я ж этот саб вызываю из другой процедуры, соответственно он выходит из этого и возвращается обратно. а подскажите, есть ли такая команда, которая прекращала бы выполнение макроса вообще?? без возвращений к предыдущим процедурам =ь п.с.: наверно проще объединить сабы п.п.с.: да, тут все переменные публичные - это плохо? |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
![]()
Мое мнение - чем меньше публичных переменных, тем лучше.
Тишина – самый громкий звук
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#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 |