Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Тихо стало... (число прочтений - 12554 )
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тихо стало...
Ответ #15 - 13. Февраля 2007 :: 15:48
Печать  
Uzhast писал(а) 13. Февраля 2007 :: 15:40:
trad писал(а) 13. Февраля 2007 :: 15:32:
по набору функционала (скромное имхо):
зачем все яйца класть в одну корзину ?..

Это уже совсем другой вопрос. Например, можно сделать не компоненту 1С++, а пакет 1С++. Это когда есть один небольшой стартовый модуль, который подгружает остальные из определенного каталога (механизм плагинов).

Угу, и такой механизм плагинов уже реализован. ЗагрузитьВнешнююКомпоненту называется.
  
Наверх
www  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Тихо стало...
Ответ #16 - 13. Февраля 2007 :: 15:49
Печать  
fez писал(а) 13. Февраля 2007 :: 15:48:
Угу, и такой механизм плагинов уже реализован. ЗагрузитьВнешнююКомпоненту называется.

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



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тихо стало...
Ответ #17 - 13. Февраля 2007 :: 15:49
Печать  
Какие еще мага-идеи? Работайте давайте...

ПС: для реализации мега идей нужны мега-мозги....
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Тихо стало...
Ответ #18 - 13. Февраля 2007 :: 15:58
Печать  
Uzhast писал(а) 13. Февраля 2007 :: 15:49:
Для этого конфу надо менять.
Ну конечно, для этого нужны непомерные усилия Класс
  

1&&2&&3
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Тихо стало...
Ответ #19 - 13. Февраля 2007 :: 16:01
Печать  
trad писал(а) 13. Февраля 2007 :: 15:58:
Uzhast писал(а) 13. Февраля 2007 :: 15:49:
Для этого конфу надо менять.
Ну конечно, для этого нужны непомерные усилия Класс

Зачем менять, если можно не менять? Улыбка
Вообще, плагины дадут гибкость, которой сейчас нет. Сейчас переход с одной версии на другую довольно болезненный. Если его можно сделать более плавным, то люди только выиграют. А возможность выкинуть ненужный функционал? От этого ведь надежность системы только повысится...
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Тихо стало...
Ответ #20 - 13. Февраля 2007 :: 16:45
Печать  
trad писал(а) 13. Февраля 2007 :: 15:58:
Uzhast писал(а) 13. Февраля 2007 :: 15:49:
Для этого конфу надо менять.
Ну конечно, для этого нужны непомерные усилия Класс

Смех смехом, а это действительно так. Естественно, это относится к тиражным конфам.

Я, например, больше не рискую, и svcsvc не использую именно по этой причине. Хотя и хотелось бы.

Цитата:
Сейчас переход с одной версии на другую довольно болезненный. Если его можно сделать более плавным, то люди только выиграют.

Вот, вполне согласен. И Майкософт про Висту сказал, что это будет последняя операционная система типа "все в одном флаконе".

Кстати, Ужаст, а как ты представляешь реализацию предложенной тобой идеи? Ну хотя бы как будет выглядеть код 1С по загрузке разных частей 1С++?

Про перехваты ты, я видел, уже писал. Правда я не вчитывался, извини.  Улыбка
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Тихо стало...
Ответ #21 - 13. Февраля 2007 :: 16:54
Печать  
sedmin писал(а) 13. Февраля 2007 :: 16:45:
Кстати, Ужаст, а как ты представляешь реализацию предложенной тобой идеи? Ну хотя бы как будет выглядеть код 1С по загрузке разных частей 1С++?

Ну, пока никаких изменений я не предполагал Улыбка Т.е. код остается таким:
Код
Выбрать все
ЗагрузитьВнешнююКомпоненту ("1cpp.dll"); 


А уж 1С++ при загрузке смотрить некий предопределенный каталог и загружает все DLL, что там лежат. Соответственно, набор DLL определяется программистом.

Чтобы получить еще бОльшую гибкость (например, грузить разные модули в зависимости от базы), можно подумать о других вариантах. Или специальный подкаталог в каталоге базы (неудобно, если много одинаковых баз) или можно предусмотреть возможность указать 1С++ из какого каталога грузить модули. Например:
Код
Выбрать все
ЗагрузитьВнешнююКомпоненту ("1cpp.dll");
Ядро = СоздатьОбъект ("1С++.Ядро");
Ядро.ЗагрузитьДополнительныеМодули ("КаталогМодулей"); // загрузка происходит из c:/Program Files/BIN/КаталогМодулей/
Ядро.ЗагрузитьДополнительныеМодули ("\\Server\Modules"); // загрузка происходит из \\Server\Modules
 

  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Тихо стало...
Ответ #22 - 13. Февраля 2007 :: 17:06
Печать  
sedmin писал(а) 13. Февраля 2007 :: 16:45:
trad писал(а) 13. Февраля 2007 :: 15:58:
Uzhast писал(а) 13. Февраля 2007 :: 15:49:
Для этого конфу надо менять.
Ну конечно, для этого нужны непомерные усилия Класс

Смех смехом, а это действительно так. Естественно, это относится к тиражным конфам.

Пойми меня правильно, я всегда был обеими руками за модульность.
А как будет загружаться: несколько ВК или одна ВК с плагинами - это уже дело вкуса.
  

1&&2&&3
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Тихо стало...
Ответ #23 - 13. Февраля 2007 :: 17:06
Печать  
Если же функционал 1С++ частично вынести во внешние модули, то частичное обновление можно выполнить даже в случае старых версий 1С++, без поддержки модульности.

Вариант, если менять конфу. Например, если ИТ вынесена в отдельный модуль, то процесс после загрузки 1С++ можно сделать загрузку новой компоненты с ИТ. Новая компонента отменяет регистрацию старого объекта "ИндексированнаяТаблица" и регистрирует новый. В результате, появляется возможность использовать новый вариант ИТ без перехода на новую версию 1С++.

Или можно сделать без переделки конфы, если сделать совсем простой загрузчик плагинов, назвать его 1cpp.dll и положить на место текущего 1cpp.dll. Текущий 1cpp.dll помещаем в каталог плагинов. Получается 1С++ будет грузиться, как плагин Улыбка (работает для 1С++, которые не требуют регистрации в реестре). Гм, правда, при этом возникает проблема очередности загрузки Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Тихо стало...
Ответ #24 - 13. Февраля 2007 :: 17:13
Печать  
+
офф. на уровне идеи.
вот например сейчас неспешно разрабатываю один небольшой проект, где есть несколько вот таких модулей. Причем некоторый модуль может быть одновременно и как самостоятельная ВК и как плагин для некоторой "головной" ВК.
  

1&&2&&3
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тихо стало...
Ответ #25 - 14. Февраля 2007 :: 04:42
Печать  
А что делать в этом случае, если плагины используют один и тот функционал - например, классы и их внутренний функционал используются во многих частях 1С++ - ТП, АктивИкс и т.д. ?
Каким образом предполагается организовать межплагинное взаимодействие?
  

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


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тихо стало...
Ответ #26 - 14. Февраля 2007 :: 06:26
Печать  
Uzhast писал(а) 13. Февраля 2007 :: 16:54:
Код
Выбрать все
ЗагрузитьВнешнююКомпоненту ("1cpp.dll");
Ядро = СоздатьОбъект ("1С++.Ядро");
Ядро.ЗагрузитьДополнительныеМодули ("КаталогМодулей"); // загрузка происходит из c:/Program Files/BIN/КаталогМодулей/
Ядро.ЗагрузитьДополнительныеМодули ("\\Server\Modules"); // загрузка происходит из \\Server\Modules
 



Чем вот это отличается от многократных ЗагрузитьВнешнююКомпоненту?
  
Наверх
www  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Тихо стало...
Ответ #27 - 14. Февраля 2007 :: 08:46
Печать  
fez писал(а) 14. Февраля 2007 :: 06:26:
Чем вот это отличается от многократных ЗагрузитьВнешнююКомпоненту?

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

Я был бы очень рад, если бы кто-то сделал простой и тупой способ загрузки внешней компоненты из именно того файла, который указан в параметре. И, желательно, без регистрации в реестре.

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

Я знаю пару людей здесь, которым это под силу, но, похоже, им это не интересно.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Тихо стало...
Ответ #28 - 14. Февраля 2007 :: 08:50
Печать  
artbear писал(а) 14. Февраля 2007 :: 04:42:
Каким образом предполагается организовать межплагинное взаимодействие?

Да подожди ты.

Ты уже на какое-то светлое будущее замахнулся. А нам бы простые вопросы решить.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Тихо стало...
Ответ #29 - 14. Февраля 2007 :: 08:51
Печать  
sedmin писал(а) 14. Февраля 2007 :: 08:46:
Я был бы очень рад, если бы кто-то сделал простой и тупой способ загрузки внешней компоненты из именно того файла, который указан в параметре. И, желательно, без регистрации в реестре.

Есть vkloader. Но при использовании с последними версиями 1С++ немножко глючит, хотя все решаемо.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать