Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Создание глобальной переменной в Контексте (число прочтений - 12154 )
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #15 - 22. Августа 2008 :: 12:57
Печать  
berezdetsky писал(а) 20. Августа 2008 :: 10:21:
blindvic писал(а) 20. Августа 2008 :: 09:09:
У меня часто возникает нужда по закрытии формы объекта, вызвать процедуру контекста формы из к-й был этот объект открыт.

Есть у меня в одной из конфигураций практически универсальный механизм передачи сообщений между открытыми формами. Соберусь на днях с силами и выложу.

Вот, я же говорил, что Перехватчик рулит Улыбка

ЗЫ Иван, не знал, что ты также юзаешь Перехватчик Улыбка
Вроде ни разу даже вопросов по нему не задавал!
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #16 - 22. Августа 2008 :: 13:23
Печать  
artbear писал(а) 22. Августа 2008 :: 12:57:
Вот, я же говорил, что Перехватчик рулит Улыбка

Перехватчик там, кстати, не особо нужен - если содержимое класса вывалить в ГМ, останется зависимость только от FormEx.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #17 - 22. Августа 2008 :: 13:35
Печать  
berezdetsky писал(а) 22. Августа 2008 :: 13:23:
artbear писал(а) 22. Августа 2008 :: 12:57:
Вот, я же говорил, что Перехватчик рулит Улыбка

Перехватчик там, кстати, не особо нужен - если содержимое класса вывалить в ГМ, останется зависимость только от FormEx.

ГМ этта не серьезно (с) Бывалый Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #18 - 22. Августа 2008 :: 13:40
Печать  
Кстати, по Перехватчику Улыбка
Добавил в Перехватчик метод "ДобавитьСвойствоККонтекстуФормы"

Пример из теста:
Код
Выбрать все
лИмяЗначения = "НовыйАтрибут";
лЗначение = 1; // любое значение или объект

Перехватчик.ДобавитьСвойствоККонтекстуФормы(Конт, лИмяЗначения, лЗначение);
лЗначение2 = Конт.НовыйАтрибут;
 



Добавленное свойство будет существовать, пока существует форма.
Пока его нельзя удалять - ИМХО вообще не нужно удалять Улыбка
Обращаться к нему только через контекст - Конт.Имя

ЗЫ давно хотел сделать подобное Улыбка
Пока сборку не выкладывал.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #19 - 22. Августа 2008 :: 14:22
Печать  
artbear писал(а) 22. Августа 2008 :: 13:40:
Кстати, по Перехватчику Улыбка
Добавил в Перехватчик метод "ДобавитьСвойствоККонтекстуФормы"


Хмм... в каких именно случаях это бывает нуно? Расшифруй...
  
Наверх
 
IP записан
 
blindvic
Senior Member
****
Отсутствует



Сообщений: 486
Местоположение: Moldova
Зарегистрирован: 23. Июня 2008
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #20 - 22. Августа 2008 :: 15:58
Печать  
artbear писал(а) 22. Августа 2008 :: 13:40:
Кстати, по Перехватчику Улыбка
Добавил в Перехватчик метод "ДобавитьСвойствоККонтекстуФормы"

Пример из теста:
Код
Выбрать все
лИмяЗначения = "НовыйАтрибут";
лЗначение = 1; // любое значение или объект

Перехватчик.ДобавитьСвойствоККонтекстуФормы(Конт, лИмяЗначения, лЗначение);
лЗначение2 = Конт.НовыйАтрибут;
 



Добавленное свойство будет существовать, пока существует форма.
Пока его нельзя удалять - ИМХО вообще не нужно удалять Улыбка
Обращаться к нему только через контекст - Конт.Имя

ЗЫ давно хотел сделать подобное Улыбка
Пока сборку не выкладывал.

То, что нужно  Очень довольный
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Создание глобальной переменной в Контексте
Ответ #21 - 22. Августа 2008 :: 16:49
Печать  
Народ!
а вы не слишком лди забурились?
у FormEx есть такие хитрые процедуры:
ПриАктивации
ПриДеактивации
если мене память не изменяет.
Может их заюзать?
Это как раз решает проблему кучи окон.
я колысь с этим столкнулся когда пытался из разных  мест открыть одну и туже форму списка справочника, но что самое интересное его контекст какой-то своеобразный.
короче заморочек много.
одну и туже форму списка из разных документов можно открыть несколько раз.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #22 - 22. Августа 2008 :: 17:24
Печать  
Ну есть люди, которые не ставят формекс из убеждений  Очень довольный


P.S. Вопрос на счет "с чем едят" - снят. Уже нашел кучу мест, где оно нуно.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Создание глобальной переменной в Контексте
Ответ #23 - 22. Августа 2008 :: 17:45
Печать  
Arta писал(а) 22. Августа 2008 :: 17:24:
Ну есть люди, которые не ставят формекс из убеждений  Очень довольный


P.S. Вопрос на счет "с чем едят" - снят. Уже нашел кучу мест, где оно нуно.


кому как а на лучше "ехать"
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #24 - 25. Августа 2008 :: 03:49
Печать  
artbear писал(а) 22. Августа 2008 :: 13:40:
Добавил в Перехватчик метод "ДобавитьСвойствоККонтекстуФормы"

Пример из теста:
Код
Выбрать все
лИмяЗначения = "НовыйАтрибут";
лЗначение = 1; // любое значение или объект

Перехватчик.ДобавитьСвойствоККонтекстуФормы(Конт, лИмяЗначения, лЗначение);
лЗначение2 = Конт.НовыйАтрибут;
 



Добавленное свойство будет существовать, пока существует форма.
Пока его нельзя удалять - ИМХО вообще не нужно удалять Улыбка
Обращаться к нему только через контекст - Конт.Имя

После осмысления в выходные решил не оставлять подобный вариант, а сделать проще и удобнее, ИМХО, конечно.

В Перехватчике подобного метода не будет.

В ТурбоБЛ к любым групповым контекстам при создании этих контекстов будет всегда добавляться спец.свойство с именем _ДопСвойства, тип АссоциативныйВектор.


Т.е. пользователи смогут самостоятельно добавлять/удалять/анализировать необходимые им свойства с использованием данной коллекции.
Обращение также через контекст - КонтФормы._ДопСвойства или КонтФормы._ДопСвойства.Получить(ИмяДопСвойства) и т.д.

Что скажете?

ЗЫ исходная версия как раз и была реализована на базе ТурбоБЛ, так что реализация фактически также готова.

Пока сборку не выкладывал.

ЗЗЫ реализация первого варианта проверена на юнит-тестах разных форм. Уверен, что и со вторым вариантом проблем не будет.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #25 - 25. Августа 2008 :: 05:47
Печать  
Или лучше назвать _ПользовательскиеСвойства ?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #26 - 25. Августа 2008 :: 06:08
Печать  
artbear писал(а) 25. Августа 2008 :: 05:47:
Или лучше назвать _ПользовательскиеСвойства ?


_ДопСвойства, проще и понятнее  Подмигивание
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Создание глобальной переменной в Контексте
Ответ #27 - 25. Августа 2008 :: 07:56
Печать  
Артур, я немного ответил в соседнем разделе: http://www.1cpp.ru/forum/YaBB.pl?num=1219421843/2#2
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание глобальной переменной в Контексте
Ответ #28 - 25. Августа 2008 :: 08:38
Печать  
Зарегил соответствующий баг http://www.1cpp.ru/bugs/show_bug.cgi?id=4093
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать