Переключение на Главную Страницу Страницы: 1 [2] 3 4 5 ОтправитьПечать
Очень популярная тема (более 25 ответов) Разделение 1c++ и FormEx (число прочтений - 29566 )
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #15 - 19. Июня 2006 :: 08:28
Печать  
kms писал(а) 19. Июня 2006 :: 08:22:
Здесь будем обсуждать?

ОК. Вот стандартная схема перехвата:
1. получили управление
2. выполнили действия
3. вызвали оригинал
4. вернули управление

П. 2 и 3 могут меняться местами.

Вот другая схема:
1. получили управление
2. выполнили действия
3. вернули управление, оригинал не вызывали

У тебя вторые есть?

И как ты все это представляешь в плане взаимосвязи разных dll?
  

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


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #16 - 22. Июня 2006 :: 10:28
Печать  
Желающие могут попробовать потестировать альфа-версию компоненты с номером 2.5.0.0 (без FormEx'а).
Лежит по адресу http://www.1cpp.ru/files/nightbuild-2.5.alpha.zip
Теперь у нас две ночные сборки.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #17 - 22. Июня 2006 :: 20:15
Печать  
fez писал(а) 22. Июня 2006 :: 10:28:
Желающие могут попробовать потестировать альфа-версию компоненты с номером 2.5.0.0 (без FormEx'а).

Общая идея заключается вот в чем.

Начиная с версии 2.5.0.0 в состав 1С++ не будет входить функционал FormEx. При этом как разработчиками 1С++ со своей стороны, так и АЛьФом с другой, будут предприняты все возможные усилия для обеспечения совместной работы компонент 1С++ и FormEx.

К сожалению, полной и прозрачной совместимости между 2.5.0.0 и более ранними версиями 1С++ добиться не удастся. Формат работы с ActiveX и с Табличным полем будет изменен.

Более подробные разъяснения будут даные несколько позже.
  
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #18 - 23. Июня 2006 :: 05:31
Печать  
Попытаюсь успокоить. На самом деле доработок минимум.
Раньше вы создавали элементы управления примерно так:
Код
Выбрать все
Перем гТП;
Процедура ПослеОткрытия()
    лФорма=СоздатьОбъект("РасширениеФормы");
    лФорма.УстановитьФорму(Форма);
    гТП=лФорма.ПолучитьАтрибут("РеквизитТП").СоздатьЭлементУправления("КлассТП");
КонецПроцедуры  



Теперь нужно будет так:
при использование 1с++ совместно с FormEx (изменить пару строк кода)
Код
Выбрать все
Перем гТП;
Процедура ПослеОткрытия()
    лФорма=СоздатьОбъект("Форма");
    лФорма.УстановитьФорму(Форма);
    гТП=лФорма.СоздатьЭлементУправления("КлассТП","РеквизитТП");
КонецПроцедуры  



при использовании только 1с++ (доработок чуть больше)
Код
Выбрать все
Перем гТП;
Перем гФорма;
Процедура ПриОткрытии()
    гФорма=СоздатьОбъект("Форма");
    гФорма.УстановитьФорму(Форма);//при этом можно расчитывать
				  //на событие ПриСозданииФормы
КонецПроцедуры

Процедура ФормаПриСоздании() //событие от класса Форма
    гТП=гФорма.СоздатьЭлементУправления("КлассТП","РеквизитТП");
КонецПроцедуры  

  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #19 - 26. Июня 2006 :: 04:49
Печать  
Повторяю для тех, кто боиться, что потребуются большие переработки после разделения компонент: по идее, надо будет просто добавить загрузку еще одной компоненты. Памяти будет тратится не намного больше, стабильность работы должна остаться прежней (а для некторых случаев и повысится).
Для проверки всего этого можно взять сборку 1С++ без FormEx с www.1cpp.ru и тестовую сборку FormEx с www.dorex.ru.
  

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



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #20 - 26. Июня 2006 :: 05:02
Печать  
noprogrammer писал(а) 24. Июня 2006 :: 18:27:
польза в разьединение  сомнительная - а переделки уже используемого кода реальные...

вот ответь в чем состоят реальные переделки.
Я в своей конфе сделал три вещи:
1) дописал ЗагрузитьВнешнююКомпоненту("FormEx.dll");
2) сделел глобальный поиск по СоздатьЭлементУправления, нашел 15 случаев, в каждом подправил по две строки;
3) сделал глобальную замену слова СервисРасшФормы на слово Сервис
и потратил на это времени чуть больше чем на написание этого поста
  

1&&2&&3
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #21 - 26. Июня 2006 :: 05:08
Печать  
trad писал(а) 26. Июня 2006 :: 05:02:
noprogrammer писал(а) 24. Июня 2006 :: 18:27:
польза в разьединение  сомнительная - а переделки уже используемого кода реальные...

вот ответь в чем состоят реальные переделки.
Я в своей конфе сделал три вещи:
1) дописал ЗагрузитьВнешнююКомпоненту("FormEx.dll");
2) сделел глобальный поиск по СоздатьЭлементУправления, нашел 15 случаев, в каждом подправил по две строки;
3) сделал глобальную замену слова СервисРасшФормы на слово Сервис
и потратил на это времени чуть больше чем на написание этого поста

И заметь, что третий пункт мог бы вообще не делать, если бы внимательно читал последнюю версию документации и пользовался синонимом "Сервис" сразу Улыбка
  

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



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #22 - 26. Июня 2006 :: 05:34
Печать  
не ну слова СервисРасшФормы были написаны еще в те далекие времена когда синонима не было
  

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


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Разделение 1c++ и FormEx
Ответ #23 - 26. Июня 2006 :: 06:49
Печать  
Ну циплят то, говорят, по осени считают.

Вот когда версии начнут расходится, тогда и обсудим размер переделок.

А пока я бы хотел узнать, где останется ИсходнаяТаблица()?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #24 - 26. Июня 2006 :: 06:53
Печать  
sedmin писал(а) 26. Июня 2006 :: 06:49:
Ну циплят то, говорят, по осени считают.

Вот когда версии начнут расходится, тогда и обсудим размер переделок.

А пока я бы хотел узнать, где останется ИсходнаяТаблица()?

В FormEx.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #25 - 26. Июня 2006 :: 07:00
Печать  
Цитата:
sedmin писал(а) 26. Июня 2006 :: 06:49:
А пока я бы хотел узнать, где останется ИсходнаяТаблица()?

В FormEx.

Блин, а мне бы хотелось оставить эту фичу в 1С++ Улыбка
  

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



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #26 - 26. Июня 2006 :: 07:03
Печать  
artbear писал(а) 26. Июня 2006 :: 07:00:
Цитата:
sedmin писал(а) 26. Июня 2006 :: 06:49:
А пока я бы хотел узнать, где останется ИсходнаяТаблица()?

В FormEx.

Блин, а мне бы хотелось оставить эту фичу в 1С++ Улыбка

Это было бы логично, т.к. для классов 1С++ она в основном и делалась. Но это ж как раз тот самый нестабильный код, который затрагивает пользователя, который даже не использует этот функционал.
Хотя, конечно, можно исходные таблицы и в 1С++ оставить. Тогда из FormEx его надо будет убрать, а в 1С++ сделать отключенным по умолчанию.
  

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


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Разделение 1c++ и FormEx
Ответ #27 - 26. Июня 2006 :: 07:20
Печать  
Я похоже, начинаю понимать смысл предлагаемого разделения.

Все нестандартное поведение функционала 1С вы хотите выделить в FormEx. А в 1С++ оставить только то, что работает только через СоздатьОбъект().

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

То есть чтобы после загрузки 1С++ никто не мог сказать "У меня стала тормозить отрисовка форм" или "У меня отвалились ИсходныеТаблицы()".
Я правильно понял смысл выражения "стабильная/нестабильная функциональность"?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Разделение 1c++ и FormEx
Ответ #28 - 26. Июня 2006 :: 07:24
Печать  
sedmin писал(а) 26. Июня 2006 :: 07:20:
Я похоже, начинаю понимать смысл предлагаемого разделения.

Все нестандартное поведение функционала 1С вы хотите выделить в FormEx. А в 1С++ оставить только то, что работает только через СоздатьОбъект().

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

То есть чтобы после загрузки 1С++ никто не мог сказать "У меня стала тормозить отрисовка форм" или "У меня отвалились ИсходныеТаблицы()".
Я правильно понял смысл выражения "стабильная/нестабильная функциональность"?

Ну... Что-то типа того...
  

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


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Разделение 1c++ и FormEx
Ответ #29 - 26. Июня 2006 :: 07:33
Печать  
Тогда я хочу класс ТаблицаСПроизвольнымШаблоном - наследник от Таблицы, в котором переопределен метод ИсходнаяТаблица. И хочу его в составе 1С++.

И тогда ИсходнаяТаблица в Таблице никогда не отвалится.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 5
ОтправитьПечать