Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Параметры по умолчанию (число прочтений - 16277 )
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по умолчанию
Ответ #30 - 25. Сентября 2007 :: 05:12
Печать  
artbear писал(а) 25. Сентября 2007 :: 04:46:
sedmin писал(а) 24. Сентября 2007 :: 19:41:
Ну вот, наконец то, и вы поняли, что эти настройки надо постоянно проверять и переустанавливать. Так почему же их все равно нужно делать сохраняемыми?

Не совсем верно - я лично сделал настройки только для кода, который меняет поведение 1С и может сказаться на работе системы в целом - например, ТурбоБЛ или Перехватчик ставят свои перехваты на общесистемные методы и соответственно могут повлиять на работу любых других методов!

Ну а почему бы тогда перехваты не накладывать вызовом какого-нибудь метода? Все равно же код надо писать на проверку перехватов?
« Последняя редакция: 25. Сентября 2007 :: 06:40 - sedmin »  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по умолчанию
Ответ #31 - 25. Сентября 2007 :: 05:14
Печать  
artbear писал(а) 25. Сентября 2007 :: 05:01:
Кстати, к оценке о множестве клиентского кода.
Я перевел пару организаций на последнюю сборку с учетом правки параметров по умолчанию.
Работают уже несколько дней или неделю, никаких проблем не было Улыбка
Использую свыше 100 классов

Сколько разработчиков писали этот клиентский код?
У каждого разработчика свои заморочки. Кто-то не любит параметры параметры по умолчанию, а кто-то любит.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Параметры по умолчанию
Ответ #32 - 25. Сентября 2007 :: 05:49
Печать  
Артур задал мне вопрос, который вытекает из всего этого обсуждения.

Переносить ли изменения по параметрам по умолчанию в ветку 2.0.3?

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Параметры по умолчанию
Ответ #33 - 25. Сентября 2007 :: 06:37
Печать  
sedmin писал(а) 25. Сентября 2007 :: 05:49:
Артур задал мне вопрос, который вытекает из всего этого обсуждения.

Переносить ли изменения по параметрам по умолчанию в ветку 2.0.3?

У меня принципиальных возражений нет, надо только прогнать тесты.
Какое ваше мнение? Будем голосовать?

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Параметры по умолчанию
Ответ #34 - 25. Сентября 2007 :: 07:05
Печать  
Uzhast писал(а) 25. Сентября 2007 :: 06:37:
Я думаю, для начала надо написать некоторое резюме: где свести в одно место описание вносимых изменений, *четкое* описание изменений в поведении объектов, список методов, поведение которых изменится и каким образом. Чтобы всем все было ясно.

Это огромнейший объем работы.
Вот вкратце.
Цитата:
artbear
     * Source/CursorGrid/V7CursorGridCtrl.cpp 1.25
     * Source/CursorGrid/V7CursorGridCtrl.h 1.16
           [+] у метода ТП::Поле::УстановитьОтступы все параметры имеют значение по умолчанию -1

     * Source/VTExt/VTExtended.cpp 1.70:
           
  • метод ВыбратьСтроку имеет первый параметр по умолчанию 0

         * Source/OLEDB/sp_oledb.cpp 1.13:
               [-] у метода "Соединение" нет дефолтного параметра;
               [-] у метода "ПрисоединитьИБ" первый параметр не является дефолтнымпараметром, только второй имеет дефолтное значение

         * Source/OLEDB/sp_cooledb.cpp 1.35:
               [-] у метода "PutObjectList" только третий параметр имеет дефолтное значение, а остальные нет
               
  • мелкий рефакторинг дефолтных функций;

    2007-09-11      adirks
         * Source/VTExt/VTExtended.cpp 1.69:
         * Source/VTExt/VTExtended.h 1.59:
               
  • завершена начатая Артуром работа над ошибками по дефолтным значениям параметров

    2007-09-10      artbear
         * Source/VTExt/VTExtended.cpp 1.68:
               [-] Исправил баг - если есть дефолтная функция, то в любой параметр можно передавать неопределенное значение
    методы defsUnloadTo и частично defsSaveToString

         * Source/TurboBL/gcboost.h 1.21:
               [-] Исправлен баг - при вызове через контекст методов модуля формы контекста не удавался вызов методам с параметрами по умолчанию

         * Testing/UnitTests/VTExt/ТЗРасшТесты.txt 1.25:
               [-] ошибка с параметрами по умолчанию в методе тестСохранениеИтератора

         * Source/CursorGrid/V7LogFilter.cpp 1.2:
         * Source/Delegate.cpp 1.16:
         * Source/System/Math.cpp 1.8:
         * Source/System/System.cpp 1.28:
         * Source/VTExt/VTExtGrouping.cpp 1.18:
         * Source/VTExt/VTExtended.cpp 1.67:
               [-] Исправил баг - если есть дефолтная функция, то в любой параметр можно передавать неопределенное значение

         * Testing/UnitTests/TurboBL/TurboBLТесты.txt 1.14:
               [+] добавлены тесты, показывающие ошибку в текущей сборке 1С++ при вызове через контекст методов модуля формы контекста с параметрами по умолчанию

    2007-09-10      adirks
         * Documents/IndexedTable.txt 1.52:
               [-] неверно были указаны умолчания для методов Выгрузить() и ВСтроку()

    2007-09-09      artbear
         * Source/System/System.cpp 1.27:
         * Source/System/System.h 1.14:
               [-] у метода EndBatch не было дефолтной функции.

         * Documents/IndexedTable.txt 1.51:
               [+] у метода "ВыключитьФильтр" параметр может быть пропущен, по умолчанию ""

         * Source/VTExt/VTExtended.cpp 1.66:
         * Source/VTExt/VTExtended.h 1.58:
               [-] исправлены баги для многих функций с дефолтными параметрами,
               но не определена дефолтная функция,
               в вызываемый метод передавалось неизвестно что.

    2007-09-08      artbear
         * Source/VTExt/VTExtended.cpp 1.65:
         * Source/VTExt/VTExtended.h 1.57:
               [-] у метода ДобавитьИндекс не было дефолтной функции.

         * Source/mycontextbase.cpp 1.7:
               [-] баг - если для вызываемого метода, у которого есть дефолтные параметры,
               но не определена дефолтная функция,
               то ошибка не выдается и вызывается метод с передачей туда неизвестно чего.

         * Source/Delegate.cpp 1.15:
         * Source/Delegate.h 1.10:
               [-] у методов ОпределитьТип и Добавить не было дефолтных функций.

         * Source/System/Math.cpp 1.7:
         * Source/System/Math.h 1.3:
               [-] у метода Long не было дефолтной функции.
  •   

    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: Параметры по умолчанию
    Ответ #35 - 25. Сентября 2007 :: 07:10
    Печать  
    Т.е. сейчас в 2.5 значения по умолчанию приведены в соответствие с документацией на 2.5
      

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



    Сообщений: 1341
    Зарегистрирован: 30. Августа 2006
    Пол: Мужской
    Re: Параметры по умолчанию
    Ответ #36 - 25. Сентября 2007 :: 07:23
    Печать  
    artbear писал(а) 25. Сентября 2007 :: 07:05:
    Вот вкратце.


    artbear писал(а) 25. Сентября 2007 :: 07:10:
    Т.е. сейчас в 2.5 значения по умолчанию приведены в соответствие с документацией на 2.5


    Ну, вроде тогда все нормально. Меня просто насторожило изменение в поведении ИндексированнаяТаблица.ВыбратьСтроку () и твоя реакцию на подобную же проблему у кого-то еще (блин, где ж это было, никак найти не могу...). Раз это были просто баги, то никаких претензий тогда нет.
      
    Наверх
     
    IP записан
     
    sedmin
    1c++ developer
    Отсутствует


    I Hate Fat YaBB 2!

    Сообщений: 862
    Зарегистрирован: 24. Мая 2006
    Re: Параметры по умолчанию
    Ответ #37 - 25. Сентября 2007 :: 07:38
    Печать  
    Артур, а можешь сказать, зачем методу Long() дефолтная функция?

    Может все же дело в консерватории и лучше там поправить?
    Например, для __ВызыватьМетодыКакСобытия() я тоже дефолтную функцию не написал.
      
    Наверх
     
    IP записан
     
    artbear
    1c++ developer
    1c++ moderator
    Отсутствует


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

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Параметры по умолчанию
    Ответ #38 - 25. Сентября 2007 :: 07:44
    Печать  
    sedmin писал(а) 25. Сентября 2007 :: 07:38:
    Артур, а можешь сказать, зачем методу Long() дефолтная функция?

    Может все же дело в консерватории и лучше там поправить?
    Например, для __ВызыватьМетодыКакСобытия() я тоже дефолтную функцию не написал.

    1. Long - не знаю, автор в тестах использует вызов с дефолтным значением, я сделал как у него написано Улыбка

    2. Так в консерватории поправлено Улыбка
    И теперь, если у метода не задана дефолтная функция, при вызове с дефолтным значение будет выдаваться ошибка "не хватает параметров".

    3. А ошибка была в ТП - SetTextMargins - Arta писал об этом
      

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



    Сообщений: 822
    Местоположение: Новосибирск
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Параметры по умолчанию
    Ответ #39 - 25. Сентября 2007 :: 08:06
    Печать  
    Цитата:
    у метода "PutObjectList" только третий параметр имеет дефолтное значение, а остальные нет

    это как?
      
    Наверх
    ICQ  
    IP записан
     
    spock
    1c++ developer
    1c++ moderator
    Отсутствует



    Сообщений: 822
    Местоположение: Новосибирск
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Параметры по умолчанию
    Ответ #40 - 25. Сентября 2007 :: 08:11
    Печать  
    spock писал(а) 25. Сентября 2007 :: 08:06:
    это как?

    щас сам заценю
      
    Наверх
    ICQ  
    IP записан
     
    artbear
    1c++ developer
    1c++ moderator
    Отсутствует


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

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Параметры по умолчанию
    Ответ #41 - 25. Сентября 2007 :: 08:14
    Печать  
    spock писал(а) 25. Сентября 2007 :: 08:06:
    Цитата:
    у метода "PutObjectList" только третий параметр имеет дефолтное значение, а остальные нет

    это как?

    Как в доке написано, так я и сделал Улыбка
      

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



    Сообщений: 822
    Местоположение: Новосибирск
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Параметры по умолчанию
    Ответ #42 - 25. Сентября 2007 :: 08:18
    Печать  
    artbear писал(а) 25. Сентября 2007 :: 08:14:
    Как в доке написано, так я и сделал Улыбка

    туплю, это же из темы "Баг с дефолтными параметрами".
      
    Наверх
    ICQ  
    IP записан
     
    kms
    1c++ power user
    1c++ moderator
    Отсутствует


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

    Сообщений: 4632
    Зарегистрирован: 19. Мая 2006
    Re: Параметры по умолчанию
    Ответ #43 - 25. Сентября 2007 :: 08:47
    Печать  
    sedmin писал(а) 25. Сентября 2007 :: 07:38:
    Артур, а можешь сказать, зачем методу Long() дефолтная функция?


    Из документации:
    Цитата:
    Long(Параметр, чБаза =0)
    ...
    Если второй параметр равен нулю, база определяется автоматически,
    иначе используется переданная база. База не может быть больше 36.

      

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


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

    Сообщений: 6303
    Местоположение: Москва
    Зарегистрирован: 19. Мая 2006
    Пол: Мужской
    Re: Параметры по умолчанию
    Ответ #44 - 14. Ноября 2007 :: 14:36
    Печать  
    sedmin писал(а) 25. Сентября 2007 :: 05:49:
    Артур задал мне вопрос, который вытекает из всего этого обсуждения.

    Переносить ли изменения по параметрам по умолчанию в ветку 2.0.3?

    У меня принципиальных возражений нет, надо только прогнать тесты.

    Будем исправлять или все-таки нет?
    В 2.5, как многие уже убедились, все ок! Улыбка
      

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