Переключение на Главную Страницу Страницы: 1 ... 15 16 [17] 18 19 ... 24 ОтправитьПечать
Очень популярная тема (более 25 ответов) 1CPP: разработчикам - среда разработки (число прочтений - 177277 )
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #240 - 07. Апреля 2008 :: 11:28
Печать  
artbear писал(а) 07. Апреля 2008 :: 11:25:
Uzhast писал(а) 07. Апреля 2008 :: 11:23:
В общем, если у наследника CBLContext не может быть публичных функций, отличных от интерфейса CBLContext, то достаточно нешаблонного CBLPtr, хранящего обычный CBContext *.

Обязательно ведь будут и есть, иначе не стоило заводить подобного наследника Улыбка

Ну почему, дополнительные функции могут быть приватными. Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #241 - 07. Апреля 2008 :: 11:38
Печать  
Кстати, вот только что нарвался на серьезный недочет в этом классе Улыбка
Функция GetImplicitParamsList возвращает CBLPtr<CBLContext>
А используется так
Код
Выбрать все
	CBLContext* pContOfList = pImplicitParams->GetImplicitParamsList(this, ppValue[0]->GetString());
 


В итоге, естественно, 1С падает из-за обращения к удаленному объекту.
Т.е. нужно
Код
Выбрать все
	CBLPtr<CBLContext> pContOfList = pImplicitParams->GetImplicitParamsList(this, ppValue[0]->GetString());
 


Недочет - это определение в классе оператора приведения к указателю на нужный тип Печаль
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #242 - 08. Апреля 2008 :: 07:29
Печать  
В общем, kms правильно сказал, что с опцией Qms0 вылезают проблемы с PCH. С Qms1 он на PCH ворнюкается, но компилирует нормально. ИМХО, Qms1 - нормальный компромиссный вариант. Возможность использовать при этом Qvc8 и Qvc9 остается. А, kms, как думаешь?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #243 - 08. Апреля 2008 :: 08:05
Печать  
В двух словах можете объяснить, для чего все эти настройки нужны?
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #244 - 08. Апреля 2008 :: 08:10
Печать  
artbear писал(а) 08. Апреля 2008 :: 08:05:
В двух словах можете объяснить, для чего все эти настройки нужны?

В Студии идешь в Help - первая строчка. Далее на закладке "Указатель" пишешь опции, начиная со слеша. Например: /Qvc8

Короче, опции включают совместимость с VC8 и VC9 и режим пониженной совместимости с багами компилятора MS. Это дает более строгий контроль за кодом со стороны компилятора и вынуждает писать код, лучше совместимый с современным стандартом C++.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - среда разработки
Ответ #245 - 08. Апреля 2008 :: 08:54
Печать  
Uzhast писал(а) 08. Апреля 2008 :: 07:29:
В общем, kms правильно сказал, что с опцией Qms0 вылезают проблемы с PCH. С Qms1 он на PCH ворнюкается, но компилирует нормально. ИМХО, Qms1 - нормальный компромиссный вариант. Возможность использовать при этом Qvc8 и Qvc9 остается. А, kms, как думаешь?

Ну, как только всех задолбает этот Qms0, так и перейдем на Qms1.
К счастью, это проще, чем обратно. Улыбка
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #246 - 08. Апреля 2008 :: 09:03
Печать  
kms писал(а) 08. Апреля 2008 :: 08:54:
Ну, как только всех задолбает этот Qms0, так и перейдем на Qms1.

Где тут запись задолбавшихся? Запишите меня Улыбка
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - среда разработки
Ответ #247 - 08. Апреля 2008 :: 09:13
Печать  
Улыбка ну, не вопрос - давайте поставим Qms1.
Времени все равно на эту ерунду нет - надо разбираться с boost 1.35.
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #248 - 08. Апреля 2008 :: 11:53
Печать  
kms писал(а) 08. Апреля 2008 :: 09:13:
надо разбираться с boost 1.35.

А что там интересного добавили? Вкратце Улыбка ?
  

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: 1CPP: разработчикам - среда разработки
Ответ #249 - 08. Апреля 2008 :: 15:33
Печать  
Вкратце: немеряно. Улыбка
http://www.boost.org/users/download/version_1_35_0
  

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #250 - 09. Апреля 2008 :: 06:29
Печать  
kms писал(а) 08. Апреля 2008 :: 15:33:
Вкратце: немеряно. Улыбка
http://www.boost.org/users/download/version_1_35_0

Эх, только губу на gil раскатал, ан нет - нет несколько крайне нужных возможностей. Можно конечно реализовать их ручками, но уж больно геморно. Придется другую библиотечку поискать, а то Purify на CxImage таким матом ругается, что даже повторить тут неудобно...
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #251 - 09. Апреля 2008 :: 14:10
Печать  
Народ, тут бага для меня непонятная нарисовалась Печаль
свежаю сборка icpp (только что заливал код)
класс CBLPtr<T>

в нем есть конструкторы
Код
Выбрать все
	CBLPtr(const CBLPtr<T>& lp) : p(NULL), m_bIsGroupContext(FALSE)
	{
		_Assign(lp.p);
	}

	template<class U>
	CBLPtr(const CBLPtr<U>& lp) : p(NULL), m_bIsGroupContext(FALSE)
	{
		// artbear приведение (U*) неверно, но иначе в 3.0 не проходят тесты с неопределенным числом параметров :(
		// TODO что-то странное :(
		_Assign((U*)lp); !! //artbear - коммент не мой - чтобы можно было выполнять приведение от CBLPtr<CBLContext> к CBLPtr<CComponentClass>
		//_Assign(lp.p); // artbear - разрешено использовать только простые преобразования - от CBLPtr<Наследник_CBLContext> к CBLPtr<CBLContext>
	}

	CBLPtr(T* lp) : p(NULL), m_bIsGroupContext(FALSE) // показал на всякий случай
	{
		_Assign(lp);
	}
// + оператор приведения
	operator T*() const
	{
		return (T*)p; // кстати, тут нужно поправить :)
	}

 


Насколько я понимаю, приведение (U*) во втором конструкторе неверно, так делать низя.
Но если убрать этот второй конструктор вообще или строку приведения закомментить, открыв следующую строку, или убрать первый конструктор, будет вылет 1С на методах с неопределенным числом параметров Печаль
Например, в тестовой конфе достаточно запустить тесты БинариДата, и 1С упадет на тесте ТестыБинариДата_СнятьБлокировку Печаль
.
Прошу помощи клуба.
Т.к. мои силы иссякли Улыбка

ЗЫ а в таком виде все работает. Хотя в отладчике на второй конструктор я не могу попасть, т.е. точка останова в нем не работает Улыбка
Т.е. какая-то языковая хитрость наверняка, которую я не вижу.
  

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: 1CPP: разработчикам - среда разработки
Ответ #252 - 09. Апреля 2008 :: 14:18
Печать  
artbear писал(а) 09. Апреля 2008 :: 14:10:
ЗЫ а в таком виде все работает. Хотя в отладчике на второй конструктор я не могу попасть, т.е. точка останова в нем не работает Улыбка
Т.е. какая-то языковая хитрость наверняка, которую я не вижу.

Каким компилятором сейчас собираешь (версия)?
  

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


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - среда разработки
Ответ #253 - 09. Апреля 2008 :: 18:44
Печать  
Насчет проблемы PCH/Qms0 на ICL 9.1

Вот, очередной Улыбка рецепт.
В тот момент, когда начинаются проблемы с PCH, убираем путь к хедерам в свойствах ICL 9.1
Типа как на картинке.

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

Но тем не менее, пусть лежит в копилке знаний.
Кому попадутся очередные грабли с PCH - попробуйте заценить идею. Улыбка
« Последняя редакция: 09. Апреля 2008 :: 19:57 - kms »  

intel.PNG ( 15 KB | Загрузки )
intel.PNG

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #254 - 10. Апреля 2008 :: 05:04
Печать  
kms писал(а) 09. Апреля 2008 :: 14:18:
artbear писал(а) 09. Апреля 2008 :: 14:10:
ЗЫ а в таком виде все работает. Хотя в отладчике на второй конструктор я не могу попасть, т.е. точка останова в нем не работает Улыбка
Т.е. какая-то языковая хитрость наверняка, которую я не вижу.

Каким компилятором сейчас собираешь (версия)?

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 записан
 
Переключение на Главную Страницу Страницы: 1 ... 15 16 [17] 18 19 ... 24
ОтправитьПечать