Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 11 ОтправитьПечать
Очень популярная тема (более 25 ответов) Динамич. создание классов и подкл. файл. реализац. (число прочтений - 55607 )
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #45 - 01. Февраля 2007 :: 13:18
Печать  
KonstSV писал(а) 01. Февраля 2007 :: 08:54:
Подводя промежуточный итог, хочу предложить следующий вариант:

1. При загрузке компоненты классы автоматически не загружаются.

Совместимость должна сохраняться.
Поэтому
1. При загрузке компоненты классы автоматически не загружаются, если нет файла КаталогИБ\defcls.prm или встроенной обработки defcls@md
Т.е. текущее поведение 1С++ Улыбка
  

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



Сообщений: 39
Местоположение: Москва
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #46 - 01. Февраля 2007 :: 13:27
Печать  
Что касается возможности отключения классов, то за этим должна следить компонента и
в случае попытки отключить класс с существующим объектом должна выкидывать исключение.

А, смыслы, на мой взгляд, есть.

Начиная от "принципа симметрии" - если есть Подключить,
то должно быть и Отключить (спорно, конечно, но всё же).

И, хотелось бы, всё-таки, иметь возможность на время подключать некоторый функционал, и,
соответственно, отключать его за ненадобностью.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #47 - 01. Февраля 2007 :: 14:16
Печать  
KonstSV писал(а) 01. Февраля 2007 :: 13:27:
И, хотелось бы, всё-таки, иметь возможность на время подключать некоторый функционал, и,
соответственно, отключать его за ненадобностью.

Создаешь объект нужного тебе класса, потом уничтожаешь его.
Зачем класс-то отключать?
  
Наверх
www  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #48 - 01. Февраля 2007 :: 14:19
Печать  
fez писал(а) 01. Февраля 2007 :: 14:16:
Зачем класс-то отключать?

Чтобы Враг не создал объект того же класса Улыбка
  

FormEx developer
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Динамич. создание классов и подкл. файл. реали
Ответ #49 - 01. Февраля 2007 :: 14:29
Печать  
Классовый враг Очень довольный
  

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


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Динамич. создание классов и подкл. файл. реали
Ответ #50 - 01. Февраля 2007 :: 14:47
Печать  
artbear писал(а) 01. Февраля 2007 :: 13:18:
KonstSV писал(а) 01. Февраля 2007 :: 08:54:
Подводя промежуточный итог, хочу предложить следующий вариант:

1. При загрузке компоненты классы автоматически не загружаются.

Совместимость должна сохраняться.

Совместимость не всегда должна сохраняться. Ее надо сохранять, пока выгоды от ее отмены не превышают стоимости отказа от нее. Не уверен, что ее следует сохранять в данном случае.

Обеспечить совместимое поведение на уровне пользователя 1С++ не так уж и сложно. Поэтому считаю, что после достаточной отладки нового механизма можно и отключить автоматическую загрузку классов.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #51 - 01. Февраля 2007 :: 15:36
Печать  
sedmin писал(а) 01. Февраля 2007 :: 14:47:
Совместимость не всегда должна сохраняться. Ее надо сохранять, пока выгоды от ее отмены не превышают стоимости отказа от нее. Не уверен, что ее следует сохранять в данном случае.

Обеспечить совместимое поведение на уровне пользователя 1С++ не так уж и сложно. Поэтому считаю, что после достаточной отладки нового механизма можно и отключить автоматическую загрузку классов.


Sedmin, а чем тебя не устраивает вариант озвученный Артуром?

artbear писал(а) 01. Февраля 2007 :: 13:18:
1. При загрузке компоненты классы автоматически не загружаются, если нет файла КаталогИБ\defcls.prm или встроенной обработки defcls@md
Т.е. текущее поведение 1С++ Улыбка

  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Динамич. создание классов и подкл. файл. реали
Ответ #52 - 01. Февраля 2007 :: 15:41
Печать  
KonstSV писал(а) 01. Февраля 2007 :: 08:54:
1. При загрузке компоненты классы автоматически не загружаются.


Ни в коем случае! Порядок обработки классов, заголовок которых описан в дефцлс, не должен изменяться. Иначе будет нарушена их работа и придется переносить этот заголовок в модуль класса.
  
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Динамич. создание классов и подкл. файл. реали
Ответ #53 - 01. Февраля 2007 :: 20:29
Печать  
Arta писал(а) 01. Февраля 2007 :: 15:36:
Sedmin, а чем тебя не устраивает вариант озвученный Артуром?

Не устраивает тем, что если я захочу что-то поменять, то я не могу гарантировать, что все 300 клиентов сделают с файлом DefCls.prm именно то, что мне надо.

Палыч
Цитата:
Порядок обработки классов, заголовок которых описан в дефцлс, не должен изменяться. Иначе будет нарушена их работа и придется переносить этот заголовок в модуль класса.

А чем не устраивает добавление пары строчек?

Код
Выбрать все
ЗагрузитьВнешнююКомпоненту("1CPP.DLL");
МетаИнфо=СоздатьОбъект("MetaInfoClasses");
МетаИнфо.ЗагрузитьКлассыИзПРМ(КаталогИБ()+"defcls.prm"); 

  
Наверх
 
IP записан
 
Палыч
1c++ power user
Отсутствует


I Love 1Cv8!

Сообщений: 217
Зарегистрирован: 19. Мая 2006
Re: Динамич. создание классов и подкл. файл. реали
Ответ #54 - 02. Февраля 2007 :: 04:18
Печать  
sedmin
Не устраивает тем, что нужно править МД. Это не всегда возможно.

Кроме того, считаю, что загрузка классов должна настраиваться только через ини-файл (в нашем случае - дефцлс), и не вижу большой нужды в спец. методах компоненты. Хотя... если будут, применение можно будет найти. Улыбка
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #55 - 02. Февраля 2007 :: 05:19
Печать  
Цитата:
Не устраивает тем, что нужно править МД. Это не всегда возможно.

Да, мне также не всегда удобен вариант с правкой Мд-файла.
  

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


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Динамич. создание классов и подкл. файл. реали
Ответ #56 - 02. Февраля 2007 :: 13:53
Печать  
Ну делайте как вам удобнее. Приспособимся.

Я предлагаю сделать более гибкий вариант. В общем случае он удобнее.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #57 - 02. Февраля 2007 :: 20:12
Печать  
sedmin писал(а) 02. Февраля 2007 :: 13:53:
Я предлагаю сделать более гибкий вариант. В общем случае он удобнее.

Не согласен. В ряде частных случаев наличие defcls.prm оказывается очень удобным.
  
Наверх
www  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Динамич. создание классов и подкл. файл. реали
Ответ #58 - 02. Февраля 2007 :: 22:34
Печать  
fez писал(а) 02. Февраля 2007 :: 20:12:
В ряде частных случаев ...

Вот такое конкретное решение оказывается очень негибким. Помните, какие траблы пошли, когда попытались определить, какой из defcls главнее, кого в кого включать? Мозг даже и вспоминать отказывается, что тогда было.  Улыбка

Вот и решили тогда оставить как есть. Для совместимости. И чтобы не париться.

А на самом деле ни один из них не главный. Как программист решит - тот и главный. Считаю, что пользователь (программист) должен явно указывать, что загружать. Естественно, сделать это надо только в том случае, если у нас появится механизм произвольного подключения классов. Если не будет механизма - то, естественно, все надо оставить по-старому.

Цитата:
1. При загрузке компоненты классы автоматически не загружаются.

Вы знакомы с методом коридорного тестирования? Вот что вам говорит человек с незамыленным взглядом. А вы ему говорите: "А у нас вот так!".

(Давно уж нет тех обезьян, а банан все равно брать нельзя...)
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Динамич. создание классов и подкл. файл. реали
Ответ #59 - 05. Февраля 2007 :: 07:23
Печать  
sedmin писал(а) 02. Февраля 2007 :: 22:34:
fez писал(а) 02. Февраля 2007 :: 20:12:
В ряде частных случаев ...

Вот такое конкретное решение оказывается очень негибким. Помните, какие траблы пошли, когда попытались определить, какой из defcls главнее, кого в кого включать? Мозг даже и вспоминать отказывается, что тогда было.  Улыбка

Я не о тех частных случаях.

sedmin писал(а) 02. Февраля 2007 :: 22:34:
Цитата:
1. При загрузке компоненты классы автоматически не загружаются.

Вы знакомы с методом коридорного тестирования? Вот что вам говорит человек с незамыленным взглядом. А вы ему говорите: "А у нас вот так!".
(Давно уж нет тех обезьян, а банан все равно брать нельзя...)

Если нету defcls.prm - то пусть себе автоматически не загружаются. Что, других названий для файла определений нельзя придумать?
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 ... 11
ОтправитьПечать