Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) v8 классы (число прочтений - 16719 )
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
v8 классы
21. Апреля 2008 :: 06:25
Печать  
Добрый день всем.

Может кто подскажешь (ссылку какую даст) где почитать как сделать в 8ке подобие классов 1С++ т.е.  хочется иметь возможность создав ТП на форме  описывать все его процедуры в неком классе дабы не делать этого в каждой форме данного ТП


Р.S. Понимаю что форум мягко говоря не по 8ке но спросить больше негде... вроде весь инет перерыл - чегото ничего не нашел - хотя может плохо искал как обычно..
  
Наверх
wwwICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: v8 классы
Ответ #1 - 21. Апреля 2008 :: 06:32
Печать  
Делай во внешней обработке, просто объявляешь  её методы как Экспорт и всё
Только с наследованием никак.
Есть идея разбирать эти обработки V8Unpack и на основе файла описания собирать из родителей и наследников итоговые классы...
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: v8 классы
Ответ #2 - 21. Апреля 2008 :: 06:33
Печать  
глянь вот тут http://infostart.ru/profile/9621/projects/1640/

может пригодится  Подмигивание
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #3 - 21. Апреля 2008 :: 06:37
Печать  
Да, я что-то подобное делал по вышеуказанной ссылке.
Но очень коряво, т.к. наследования нет Печаль
Идея с разбором текстов интересная, но ИМХО сложная в реализации Улыбка и не совсем понятны достигаемые результаты Улыбка
  

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


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #4 - 21. Апреля 2008 :: 06:41
Печать  
Nick писал(а) 21. Апреля 2008 :: 06:32:
Делай во внешней обработке, просто объявляешь  её методы как Экспорт и всё
Только с наследованием никак.
Есть идея разбирать эти обработки V8Unpack и на основе файла описания собирать из родителей и наследников итоговые классы...


интересует именно наследовании, т.е. хочется как то избавится от одного и того же кода во всех объектах где используется определенное ТП, т.е. хочется при открытии некой формы на котором расположено тпКонтактнаяИнформация - один раз прописать "тпКонтактнаяинформация.Инициализация()" и все... а все методы уже бы выполнялись в классе...
  
Наверх
wwwICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: v8 классы
Ответ #5 - 21. Апреля 2008 :: 06:49
Печать  
Цитата:
Идея с разбором текстов интересная, но ИМХО сложная в реализации  и не совсем понятны достигаемые результаты

На счет сложная не думаю, что всё уж так сложно, после разбора текст модуля обработки получается просто в одном текстовом файле, если экспортируемые свойства реализовывать ввиде переменных, то короме этих файлов обрабатывать ничего не надо. Главное продумать схему наследования, исходники V8Upack есть. Главное чтоб нашелся человек знающий с++ которому были бы нужны классы в 8.
Ну и наследование от встроенных объектов врядли удастся реализовать
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #6 - 21. Апреля 2008 :: 06:53
Печать  
noprogrammer писал(а) 21. Апреля 2008 :: 06:41:
интересует именно наследовании, т.е. хочется как то избавится от одного и того же кода во всех объектах где используется определенное ТП, т.е. хочется при открытии некой формы на котором расположено тпКонтактнаяИнформация - один раз прописать "тпКонтактнаяинформация.Инициализация()" и все... а все методы уже бы выполнялись в классе...

Фактически здесь наследование не нужно, будет просто универсальный класс, которому передается ссылка на ТП, и затем класс в своих методах будет использовать это ТП.
  

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: v8 классы
Ответ #7 - 21. Апреля 2008 :: 06:58
Печать  
Nick писал(а) 21. Апреля 2008 :: 06:49:
Цитата:
Идея с разбором текстов интересная, но ИМХО сложная в реализации  и не совсем понятны достигаемые результаты

На счет сложная не думаю, что всё уж так сложно, после разбора текст модуля обработки получается просто в одном текстовом файле, если экспортируемые свойства реализовывать ввиде переменных, то короме этих файлов обрабатывать ничего не надо. Главное продумать схему наследования, исходники V8Upack есть. Главное чтоб нашелся человек знающий с++ которому были бы нужны классы в 8.
Ну и наследование от встроенных объектов врядли удастся реализовать

Как ты предполагаешь разруливать виртуальные функции, без них нет смысла.
т.е. и у предка, и у потомка будут методы с одинаковым наименованием, потомок может вызывать метод предка.
Как это разрулить?
  

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


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #8 - 21. Апреля 2008 :: 06:58
Печать  
artbear писал(а) 21. Апреля 2008 :: 06:53:
noprogrammer писал(а) 21. Апреля 2008 :: 06:41:
интересует именно наследовании, т.е. хочется как то избавится от одного и того же кода во всех объектах где используется определенное ТП, т.е. хочется при открытии некой формы на котором расположено тпКонтактнаяИнформация - один раз прописать "тпКонтактнаяинформация.Инициализация()" и все... а все методы уже бы выполнялись в классе...

Фактически здесь наследование не нужно, будет просто универсальный класс, которому передается ссылка на ТП, и затем класс в своих методах будет использовать это ТП.


Пусть так - но как это сделать?! т.е. как сделать так что бы данный класс \обработка могла бы перехватить все события обработчиков ТП ?
  
Наверх
wwwICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #9 - 21. Апреля 2008 :: 06:59
Печать  
Возможно ответ где то на поверхности лежит и я его не вижу по причине незнания 8ки..потому и спрашиваю..
  
Наверх
wwwICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #10 - 21. Апреля 2008 :: 07:03
Печать  
хм.. наткнулся вот на вашу тему.. интересная ситуация получается..
1. мне хорошо знакома проблема описанная noprogrammer как тема ветки.
2. я в принципе заинтересован в "подобии классов на 8ке"
3. я вобщем-то знаю с++..

хм.. что же делать?.. надо подумать Улыбка
  
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #11 - 21. Апреля 2008 :: 07:05
Печать  
DmitrO писал(а) 21. Апреля 2008 :: 07:03:
хм.. наткнулся вот на вашу тему.. интересная ситуация получается..
1. мне хорошо знакома проблема описанная noprogrammer как тема ветки.
2. я в принципе заинтересован в "подобии классов на 8ке"
3. я вобщем-то знаю с++..

хм.. что же делать?.. надо подумать Улыбка


Досрочный ответ: написать 1С++ для 8ки  Смех
  
Наверх
wwwICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: v8 классы
Ответ #12 - 21. Апреля 2008 :: 07:14
Печать  
Цитата:
Как ты предполагаешь разруливать виртуальные функции, без них нет смысла.
т.е. и у предка, и у потомка будут методы с одинаковым наименованием, потомок может вызывать метод предка.
Как это разрулить?

В итоговую обработку включаются все используемые методы предка с префиксом, и их вызов соответственно переписывается на вызов с префиксом
  
Наверх
ICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #13 - 21. Апреля 2008 :: 07:15
Печать  
вопрос к Nick: я не понял общую идею реализации механизма классов, можно кратко описать в чем суть предлагаемой реализации, именно механизм?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: v8 классы
Ответ #14 - 21. Апреля 2008 :: 07:22
Печать  
DmitrO писал(а) 21. Апреля 2008 :: 07:15:
вопрос к Nick: я не понял общую идею реализации механизма классов, можно кратко описать в чем суть предлагаемой реализации, именно механизм?


1. Предки и наследники - внешние обработки
2. Есть текстовый файл типа defcls.prm - описывает структуру наследования
3. Есть Метод в общем модуле типа СоздатьЭкземплярКласса(<сИмяКласса>)
-------------------------------------------------------------
4. Есть механизм который на основе файла описания (2) и файлов классов (1) собирает итоговые обработки - файлы реализации классов
(как вариант вообще внешниее приложение)
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: v8 классы
Ответ #15 - 21. Апреля 2008 :: 07:55
Печать  
DmitrO Это принципиально реализуемо?
  
Наверх
ICQ  
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #16 - 21. Апреля 2008 :: 08:21
Печать  
Ну в принципе, конечно это реализуемо. Просто как-то слабовато.. изюму мало.. короче надо подумать еще.
  
Наверх
ICQ  
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: v8 классы
Ответ #17 - 21. Апреля 2008 :: 08:39
Печать  
DmitrO писал(а) 21. Апреля 2008 :: 08:21:
Ну в принципе, конечно это реализуемо. Просто как-то слабовато.. изюму мало.. короче надо подумать еще.


Если это будет реализовано - серьезно задумаюсь о работе с восьмеркой.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: v8 классы
Ответ #18 - 21. Апреля 2008 :: 08:41
Печать  
А какого  конкретно изюму хочется?
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: v8 классы
Ответ #19 - 21. Апреля 2008 :: 08:49
Печать  
Nick писал(а) 21. Апреля 2008 :: 08:41:
А какого  конкретно изюму хочется?


Ну ведь классы в 8.0 есть. И достаточно навороченные.
Доступ бы ...
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: v8 классы
Ответ #20 - 21. Апреля 2008 :: 08:52
Печать  
kiruha писал(а) 21. Апреля 2008 :: 08:49:
Nick писал(а) 21. Апреля 2008 :: 08:41:
А какого  конкретно изюму хочется?


Ну ведь классы в 8.0 есть. И достаточно навороченные.
Доступ бы ...

Что вы имеете ввиду?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #21 - 21. Апреля 2008 :: 09:09
Печать  
noprogrammer

Я верю Палычу на слово, в том, что неглобальные общие модули + делегирование закрывают 95% потребностей.
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #22 - 21. Апреля 2008 :: 09:21
Печать  
noprogrammer писал(а) 21. Апреля 2008 :: 06:58:
Пусть так - но как это сделать?! т.е. как сделать так что бы данный класс \обработка могла бы перехватить все события обработчиков ТП ?

Хороший вопрос, мне тоже интересно.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #23 - 21. Апреля 2008 :: 10:00
Печать  
ИМХО в 8.1 никак, но возможно, в 8.2, которую я еще не видел, что-то решено.
Сейчас в 8.1 можно подключать как обработчики к элементам на форме или процедуры/функции модуля этой формы или процедуры неглобальных общих модулей.
« Последняя редакция: 22. Апреля 2008 :: 04:15 - artbear »  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #24 - 21. Апреля 2008 :: 10:20
Печать  
artbear писал(а) 21. Апреля 2008 :: 10:00:
ИМХО в 8.1 никак, но возможно, в 8.2, которую я еще не видел, что-то решено.
Сейчас в 8.1 можно подключать как обработчики к элементам на форме или процедуры/функции модуля этой формы или процедуры неглобальных общих модулей.

Погоди, т.е. обработчики событий можно направить в неглобальный общий модуль?
Это, видимо, то, что нужно?
  

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


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #25 - 21. Апреля 2008 :: 10:33
Печать  
kms писал(а) 21. Апреля 2008 :: 10:20:
artbear писал(а) 21. Апреля 2008 :: 10:00:
ИМХО в 8.1 никак, но возможно, в 8.2, которую я еще не видел, что-то решено.
Сейчас в 8.1 можно подключать как обработчики к элементам на форме или процедуры/функции модуля этой формы или процедуры неглобальных общих модулей.

Погоди, т.е. обработчики событий можно направить в неглобальный общий модуль?
Это, видимо, то, что нужно?


Судя по всему речь идет о "Подписки на события"?! если это так - то это не то... так как там на сколько я понял можно перехватить лишь обработки формы а не объекта на форме...
  
Наверх
wwwICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #26 - 21. Апреля 2008 :: 10:41
Печать  
kms писал(а) 21. Апреля 2008 :: 09:09:
noprogrammer

Я верю Палычу на слово, в том, что неглобальные общие модули + делегирование закрывают 95% потребностей.


Скорее всего так и есть..я только начал изучать 8ку - а как обычно в таких случаях хочется того к чему уже привык, в данном случае хочется такой же реализации классов как в 1С++, вроде хочу не очень много.
  
Наверх
wwwICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #27 - 21. Апреля 2008 :: 12:07
Печать  
kms писал(а) 21. Апреля 2008 :: 09:09:
noprogrammer

Я верю Палычу на слово, в том, что неглобальные общие модули + делегирование закрывают 95% потребностей.

1. У кого есть аська Палыча или связь с ним, вызовите его, плиз, в эту ветку.
Интересная тема Улыбка
2. Про делегирование подробнее можно?
Мне не нравятся неглобальные общие модули тем, что в них нельзя хранить данные. Т.е. вроде как классы, но без данных Печаль
  

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


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #28 - 21. Апреля 2008 :: 17:24
Печать  
Nick писал(а) 21. Апреля 2008 :: 08:41:
А какого  конкретно изюму хочется?
Хочется чтобы классы были не только классами, а предлагался бы еще какой-либо сервис. Классы только ради классов - это не очень интересно, т.к. фактически функционал модульности есть в виде общих модулей (это без данных объекта класса, либо данные объекта класса хранить в вызывающем контексте); или в виде обработок (это получается с данными). Нехватает только вызова метода предка и переопределения методов - это вполне реализуемо при определенных допущениях и принятии стандартов.

Хочется заполучить козырную карту, например в виде событий, вот тогда я бы сыграл в эту азартную игру. А нет у меня такой карты, у кого есть? Признавайтесь, господа креативщики, нужна идея (хы.. или тяжелый труд Улыбка гыгы..)!

artbear
Цитата:
Сейчас в 8.1 можно подключать как обработчики к элементам на форме или процедуры/функции модуля этой формы или процедуры неглобальных общих модулей.
Научишь меня задавать процедуры неглобальных общих модулей обработчиками событий элементов формы, а?  Озадачен
В конструктор объекта Действие принимаются только имена процедур модуля формы - всё, пипец.

noprogrammer
Цитата:
Судя по всему речь идет о "Подписки на события"?! если это так - то это не то... так как там на сколько я понял можно перехватить лишь обработки формы а не объекта на форме...
"обработки формы" - ужос какой, люди пишите грамотно, а то вас понять не возможно. В подписках на события можно поставить только события Объектов (объектных типов имеющих отображение в БД на изменение данных, включая различные наборы записей), там нельзя использовать объекты пользовательского интерфейса (формы, элементы формы). Кроме того подписки это обязательно объекты конфигурации метаданных, они очень не подходят для классов.

Ну и напоследок, механизм оператора ДобавитьОбработчик, тоже использует события тех же Объектов (описанных выше). Он отвязан от метаданных, это гут; но это оператор языка, он недоступен через глобальный контекст.
« Последняя редакция: 21. Апреля 2008 :: 18:59 - DmitrO »  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #29 - 21. Апреля 2008 :: 17:55
Печать  
Всем привет! Рад видеть старых знакомых! Улыбка

По сабжу. На сегодняшний день избежать дублирования кода можно только одним, вобщем-то очевидным, способом: в форме объявляются обработчики событий, которые в себе содержат обращение к объекту, инкапсулирующему алгоритмы обработчиков.

Ну а прежде чем изобрести велосипед, предлагаю, сначала, определиться с потребностями. Задача пока не ясна. А там, глядишь, штатных возможностей будет достаточно.
  
Наверх
ICQ  
IP записан
 
Thor
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 82
Зарегистрирован: 12. Июля 2006
Re: v8 классы
Ответ #30 - 21. Апреля 2008 :: 21:00
Печать  
Всем привет. Вставлю свои пять копеек Подмигивание
Работаю над конфигурацией, в которой активно используются классы, наследование и виртуальные функции. Почему именно классы? Я думаю, каждый хоть раз сталкивался с необходимостью объединения и поддержки функционала из нескольких конфигураций. И с возникающими при этом... неудобствами. Особенно это касается глобального модуля. В моем случае нужно было обеспечить максимальную модульность моего решения в составе любой конфигурации. Это был мой первоначальный мотив в пользу классов. В процессе работы добавились дополнительные фишки в виде полиморфизма, наследования и обработки событий. Кроме того, мне удалось (с некоторыми трудностями и не без помощи многоуважаемых участников этого форума) реализовать обработку событий в обратном направлении (т.е. из внешней компоненты вызываюся события - предопределенные процедуры класса). Имхо, тяжело добиться подобных преимуществ, не используя классы 1С++.

В свете последних мировых тенденций Улыбка возникала идея портировать программу на v8, но из-за отсутствия наследования отказался от этой мысли... до того момента, пока не наткнулся на эту тему.
Поэтому прошу уважаемых разработчиков 1С++ учесть мой скромный голос при рассмотрении вопроса "Быть или не быть классам на v8"? Подмигивание
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #31 - 22. Апреля 2008 :: 04:14
Печать  
artbear писал(а) 21. Апреля 2008 :: 10:00:
ИМХО в 8.1 никак, но возможно, в 8.2, которую я еще не видел, что-то решено.
Сейчас в 8.1 можно подключать как обработчики к элементам на форме или процедуры/функции модуля этой формы или процедуры неглобальных общих модулей.

Да, поторопился и ошибся Печаль
Но все-таки еще нужно посмотреть на 8.2, вдруг все-таки там что-то было добавлено?
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #32 - 22. Апреля 2008 :: 04:18
Печать  
Цитата:
По сабжу. На сегодняшний день избежать дублирования кода можно только одним, вобщем-то очевидным, способом: в форме объявляются обработчики событий, которые в себе содержат обращение к объекту, инкапсулирующему алгоритмы обработчиков.

Да, способ очевидный, простой и ясный, но все-таки хочется чего-то более универсального Улыбка
Я лично начинаю все больше задумываться о 8.2 (нужно пощупать все-таки) и/или механизме разборки/сборки в нужном виде - например, что-то типа Альфовского Инсертера для вставки кода обработчиков и т.д.
  

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


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #33 - 22. Апреля 2008 :: 05:49
Печать  
artbear
Цитата:
...но все-таки хочется чего-то более универсального

Ну так чего именно тебе хочется?

зы: вообще, мне кажется, что критическая масса в случае с восьмеркой еще долго не накопится...
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #34 - 22. Апреля 2008 :: 06:10
Печать  
Например, мне хочется отдать элемент управления на форме в свой класс и чтобы класс имел полную "власть" над этим элементом - возможность назначать события и т.п.
Тоже самое для управления любыми формами, а не только их элементами.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #35 - 22. Апреля 2008 :: 06:11
Печать  
Цитата:
зы: вообще, мне кажется, что критическая масса в случае с восьмеркой еще долго не накопится...

В принципе, я согласен - в любом процедурный стиль программирования никто не отменял Улыбка
  

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


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #36 - 22. Апреля 2008 :: 08:33
Печать  
artbear писал(а) 22. Апреля 2008 :: 06:10:
Например, мне хочется отдать элемент управления на форме в свой класс и чтобы класс имел полную "власть" над этим элементом - возможность назначать события и т.п.
Тоже самое для управления любыми формами, а не только их элементами.


Ну это все понятно. Чего конкретно в штатной восьмерке для этого не хватает?
  
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #37 - 22. Апреля 2008 :: 08:40
Печать  
Цитата:
artbear писал(а) 22. Апреля 2008 :: 06:10:
Например, мне хочется отдать элемент управления на форме в свой класс и чтобы класс имел полную "власть" над этим элементом - возможность назначать события и т.п.
Тоже самое для управления любыми формами, а не только их элементами.


Ну это все понятно. Чего конкретно в штатной восьмерке для этого не хватает?


Так именно этого и нехватает... или есть такая возможность?!
  
Наверх
wwwICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #38 - 22. Апреля 2008 :: 08:54
Печать  
noprogrammer
А чем не устраивает Цитата:
На сегодняшний день избежать дублирования кода можно только одним, вобщем-то очевидным, способом: в форме объявляются обработчики событий, которые в себе содержат обращение к объекту, инкапсулирующему алгоритмы обработчиков.
?
  
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #39 - 22. Апреля 2008 :: 11:04
Печать  
Цитата:
noprogrammer
А чем не устраивает Цитата:
На сегодняшний день избежать дублирования кода можно только одним, вобщем-то очевидным, способом: в форме объявляются обработчики событий, которые в себе содержат обращение к объекту, инкапсулирующему алгоритмы обработчиков.
?


Скорее всего я просто чего то недопонимаю\непониаю (повторюсь -  8ку только начал изучать) - я не хочу в форме объявлять обработчики событий - все что мне хочется это создать свой класс со всеми событиями - а в форме просто написать нечто такое:

ОбъектКонтактнаяИнформация = Новый "КонтактнаяИнформация";
ОбъектКонтактнаяИнформация.Инициализация(ФизЛицо, тпСсылка);

сейчас в 1С++ это делается на ура - как такое сделать в 8ке.....судя по написанному выше такая возможность все же есть - буду учится.....
  
Наверх
wwwICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #40 - 22. Апреля 2008 :: 11:16
Печать  
noprogrammer писал(а) 22. Апреля 2008 :: 11:04:
Цитата:
noprogrammer
А чем не устраивает Цитата:
На сегодняшний день избежать дублирования кода можно только одним, вобщем-то очевидным, способом: в форме объявляются обработчики событий, которые в себе содержат обращение к объекту, инкапсулирующему алгоритмы обработчиков.
?


Скорее всего я просто чего то недопонимаю\непониаю (повторюсь -  8ку только начал изучать) - я не хочу в форме объявлять обработчики событий - все что мне хочется это создать свой класс со всеми событиями - а в форме просто написать нечто такое:

ОбъектКонтактнаяИнформация = Новый "КонтактнаяИнформация";
ОбъектКонтактнаяИнформация.Инициализация(ФизЛицо, тпСсылка);

сейчас в 1С++ это делается на ура - как такое сделать в 8ке.....судя по написанному выше такая возможность все же есть - буду учится.....

нету Печаль
ранее я ошибся Печаль
  

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


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #41 - 22. Апреля 2008 :: 11:39
Печать  
Цитата:
я не хочу в форме объявлять обработчики событий

а придется  Нерешительный

И в типовых конфигурациях такой фигни немеряно, обработчики прописаны в каждом модуле формы и их реализация это вызов соответствующей процедуры из общего модуля.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #42 - 22. Апреля 2008 :: 11:43
Печать  
Народ, а 8.2 кто-нибудь смотрел?
Кто-нибудь знает, где ее взять? Если да, согласно правилам форума прошу в личку Улыбка
  

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


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #43 - 22. Апреля 2008 :: 11:49
Печать  
щаз качнем, поглядим, имхо ничо там не перепадет нам, страдальцам.  Класс
  
Наверх
ICQ  
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #44 - 22. Апреля 2008 :: 11:56
Печать  
artbear
Чего нету? Очень довольный

noprogrammer
Восьмерка, в плане редактирования форм, ничем принципиально не отличается от VB или Делфи: кладем контрол на форму, клацаем по событию в свойствах контрола, пишем обработчик события в редакторе кода. Особых знаний платформы для редактирования форм вовсе не требуется.

Цитата:
я не хочу в форме объявлять обработчики событий

Правильно ли я понимаю, что ты хочешь сделать свой контрол "Контактная информация", унаследованный от грида? Причем так, чтобы этот новый контрол не имел ни одного события в своем интерфейсе и не реагировал на действия пользователя?
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #45 - 22. Апреля 2008 :: 11:56
Печать  
DmitrO писал(а) 22. Апреля 2008 :: 11:49:
щаз качнем, поглядим, имхо ничо там не перепадет нам, страдальцам.  Класс

и мне подскажи, где качать-то Улыбка
  

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


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #46 - 22. Апреля 2008 :: 12:00
Печать  
artbear писал(а) 22. Апреля 2008 :: 11:43:
Народ, а 8.2 кто-нибудь смотрел?

Если ты надеешься в составе 8.2 увидеть 1С++, то вынужден тебя разочаровать Подмигивание Не тешь себя напрасными надеждами. В ней добавлен только тонкий клиент.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #47 - 22. Апреля 2008 :: 12:02
Печать  
Название - Управляемое приложение дает некий намек на более тонкую работу с интерфейсами и формами Улыбка
Где взять-то?
ЗЫ главное, раньше где-то видел 8.2, но не нужно было. А сейчас нужно, а где брать не знаю Улыбка
  

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


I Love YaBB 2!

Сообщений: 53
Зарегистрирован: 29. Мая 2006
Re: v8 классы
Ответ #48 - 22. Апреля 2008 :: 12:15
Печать  
artbear писал(а) 22. Апреля 2008 :: 12:02:
Название - Управляемое приложение дает некий намек на более тонкую работу с интерфейсами и формами Улыбка
Где взять-то?
ЗЫ главное, раньше где-то видел 8.2, но не нужно было. А сейчас нужно, а где брать не знаю Улыбка


Смотри личку.
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #49 - 22. Апреля 2008 :: 12:22
Печать  
Цитата:
artbear
Чего нету? Очень довольный

noprogrammer
Восьмерка, в плане редактирования форм, ничем принципиально не отличается от VB или Делфи: кладем контрол на форму, клацаем по событию в свойствах контрола, пишем обработчик события в редакторе кода. Особых знаний платформы для редактирования форм вовсе не требуется.

Цитата:
я не хочу в форме объявлять обработчики событий

Правильно ли я понимаю, что ты хочешь сделать свой контрол "Контактная информация", унаследованный от грида? Причем так, чтобы этот новый контрол не имел ни одного события в своем интерфейсе и не реагировал на действия пользователя?


Незнаю как еще объяснить...
Попробую объяснить на примере конфигурации УТ - есть ркгистр сведений "Контактная информация", на форме справочников "ФизЛица", "Контрагенты" и т.д. рисутеся ТП с ПоставщикомДанных "РегистрСведений.КонтактнаяИнформация" - далее в это ТП прописываются различные обработчики событий, т.е. в каждой форме где хочется разместить ТП "контактная информация" приходится делать одно и тоже - прописать в ТП обработки событий и т.д. - я всего лишь хочу создать свой класс "контактная информация" в котором будут прописаны все обработчики событий - в форме любого справочника мне достаточно будет только нарисовать ТП и вызвать данный класс а не копировать кучу ненужного кода + прописывать в каждом ТП обработчики событий.

Р.S. Артур может лучше объяснить, что то мне подсказывает что он понимает о чем я говорю Подмигивание
  
Наверх
wwwICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #50 - 22. Апреля 2008 :: 12:29
Печать  
Цитата:
noprogrammer
Восьмерка, в плане редактирования форм, ничем принципиально не отличается от VB или Делфи: кладем контрол на форму, клацаем по событию в свойствах контрола, пишем обработчик события в редакторе кода. Особых знаний платформы для редактирования форм вовсе не требуется.

Насчет ВБ знаю плохо, по Дельфи скажу: в нем есть возможность произвольного назначения обработчиков событий, этой фичи очень не хватает 8 Печаль
Приходится писать кучу ненужного, абсолютно одинакового кода, в итоге модули форм похожи друг на друг - т.е. в этом плане мы от штатной семерки никуда не ушли.
Но в семерке у нас есть 1С++ Улыбка, а в 8 - только фига Улыбка
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #51 - 22. Апреля 2008 :: 12:32
Печать  
artbear писал(а) 22. Апреля 2008 :: 12:29:
Цитата:
noprogrammer
Восьмерка, в плане редактирования форм, ничем принципиально не отличается от VB или Делфи: кладем контрол на форму, клацаем по событию в свойствах контрола, пишем обработчик события в редакторе кода. Особых знаний платформы для редактирования форм вовсе не требуется.

Насчет ВБ знаю плохо, по Дельфи скажу: в нем есть возможность произвольного назначения обработчиков событий, этой фичи очень не хватает 8 Печаль

Произвольного - читать как программного изменения на лету.
  

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


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #52 - 22. Апреля 2008 :: 12:41
Печать  
noprogrammer
Цитата:
в форме любого справочника мне достаточно будет только нарисовать ТП и вызвать данный класс а не копировать кучу ненужного кода + прописывать в каждом ТП обработчики событий.

Т.е. тебя напрягает только вот это:
Код
Выбрать все
Процедура КонтактнаяИнформацияВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
	_контИнфо.Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка);
КонецПроцедуры

Процедура КонтактнаяИнформацияПриАктивизацииСтроки(Элемент)
	_контИнфо.ПриАктивизацииСтроки(Элемент);
КонецПроцедуры

Процедура КонтактнаяИнформацияПриАктивизацииКолонки(Элемент)
	_контИнфо.ПриАктивизацииКолонки(Элемент);
КонецПроцедуры
 

?

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v8 классы
Ответ #53 - 22. Апреля 2008 :: 12:44
Печать  
Цитата:
noprogrammer
Цитата:
в форме любого справочника мне достаточно будет только нарисовать ТП и вызвать данный класс а не копировать кучу ненужного кода + прописывать в каждом ТП обработчики событий.

Т.е. тебя напрягает только вот это:

Ну что ж, как говорится "Мне бы ваши проблемы" Очень довольный

Слишком рутинная работа Улыбка для каждой формы и каждого элемента, который хотим переложить на классы Печаль
А что тебя лично напрягает?
  

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


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: v8 классы
Ответ #54 - 22. Апреля 2008 :: 13:09
Печать  
artbear писал(а) 22. Апреля 2008 :: 12:44:
Слишком рутинная работа Улыбка

Все в мире относительно... Ну и шаблоны в конфигураторе не просто так придуманы. Улыбка

Вобщем, ищете проблему на ровном месте. Улыбка
  
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: v8 классы
Ответ #55 - 22. Апреля 2008 :: 18:36
Печать  
Цитата:
noprogrammer
Цитата:
в форме любого справочника мне достаточно будет только нарисовать ТП и вызвать данный класс а не копировать кучу ненужного кода + прописывать в каждом ТП обработчики событий.

Т.е. тебя напрягает только вот это:
Код
Выбрать все
Процедура КонтактнаяИнформацияВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
	_контИнфо.Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка);
КонецПроцедуры

Процедура КонтактнаяИнформацияПриАктивизацииСтроки(Элемент)
	_контИнфо.ПриАктивизацииСтроки(Элемент);
КонецПроцедуры

Процедура КонтактнаяИнформацияПриАктивизацииКолонки(Элемент)
	_контИнфо.ПриАктивизацииКолонки(Элемент);
КонецПроцедуры
 

?

Ну что ж, как говорится "Мне бы ваши проблемы" Очень довольный


о вот теперь в точку, только "напрягает" немного не то слово - меня просто убивает этот маразм... ну да лана, как говорится спасибо 1Су и на этом.

Всем спасибо, вопросов больше нет.
  
Наверх
wwwICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать