Переключение на Главную Страницу Страницы: 1 [2] 3 4 ... 16 ОтправитьПечать
Очень популярная тема (более 25 ответов) Провайдер OLE DB для ТП (число прочтений - 68732 )
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #15 - 24. Сентября 2007 :: 07:04
Печать  
JohnyDeath писал(а) 24. Сентября 2007 :: 06:57:
Я немного не про то. Похоже, что текущая выборка захватывает весь объект. Т.е. одинэсина думает, что его кто-то открыл в текущий момент.

Хм. Интересно. Вроде все нормально открывается... Это у тебя не "Дата запрета редактирования" влияет? Нерешительный
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #16 - 24. Сентября 2007 :: 07:13
Печать  
Uzhast писал(а) 24. Сентября 2007 :: 07:04:
JohnyDeath писал(а) 24. Сентября 2007 :: 06:57:
Я немного не про то. Похоже, что текущая выборка захватывает весь объект. Т.е. одинэсина думает, что его кто-то открыл в текущий момент.

Хм. Интересно. Вроде все нормально открывается... Это у тебя не "Дата запрета редактирования" влияет? Нерешительный

Смущённый посыпаю голову пеплом...
надо ж было так тормазнуть...
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #17 - 24. Сентября 2007 :: 07:14
Печать  
Уфф... Слава богу! Улыбка Напугал... А-то уж полез проверять, вдруг это непатченный провайдер для Фокса блокирует что-то Улыбка
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #18 - 24. Сентября 2007 :: 07:16
Печать  
Uzhast писал(а) 24. Сентября 2007 :: 06:52:
[quote author=JohnyDeath link=1190523570/0#7 date=1190616323]
1. Быстрый поиского нету пока. Для статического варианта провайдера поиск, похоже, будет не совсем быстрый - с полным перебором по колонке.

и низя будет применять % ?
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #19 - 24. Сентября 2007 :: 07:17
Печать  
JohnyDeath писал(а) 24. Сентября 2007 :: 07:16:
и низя будет применять % ?

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



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #20 - 24. Сентября 2007 :: 07:22
Печать  
spock писал(а) 24. Сентября 2007 :: 06:54:
Меня интересует, прежде всего, как он выделяет память при resize'е

Да, забыл сказать. При resize (если вектор пустой), то память будет, во-первых, выделена только один раз, а во-вторых, именно столько, сколько попросят (если ты на оверхед намекаешь) Улыбка

Это только потом, если мы будем вызывать push_back, он начнет самостоятельно память выделять.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


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

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #21 - 24. Сентября 2007 :: 11:27
Печать  
Uzhast писал(а) 24. Сентября 2007 :: 06:32:
artbear писал(а) 24. Сентября 2007 :: 05:48:
Uzhast писал(а) 23. Сентября 2007 :: 04:59:
Для доработки я выбрал версию 2.5. Потому что, глянув на код в 2.0.3, решил, что это будет проще Подмигивание Хотя, в итоге, думаю перенести поддержку провайдера в 2.0.3. Ночные сборки меня по прежнему не вдохновляют. Особенно, в свете последних изменений, связанных с параметрами по умолчанию.

А чем тебе эти правки не нравятся?

Тем, что ломают работающий промышленный код Улыбка и приводят к тому, что функции 1С++ ведут себя не так, как принято в 1С повсеместно.

Во-первых. Например, раньше можно было писать ИндексированнаяТаблица.ВыбратьСтроку (). А теперь нельзя. Можно только, например, ИндексированнаяТаблица.ВыбратьСтроку (0). Так же видел, что кто-то еще жаловался на такое поведение с параметрами по умолчанию.

Во-вторых, подобное поведение не соответствует стандартному. Если я пишу
Код
Выбрать все
Процедура ХитроеСложение (А = 2, Б = 3) 


То я могу вызывать ее как ХитроеСложение (3). И мне не надо писать ХитроеСложение (3,). А в 1С++ надо  Улыбка


Этта... Артур... Это правда?
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #22 - 24. Сентября 2007 :: 11:38
Печать  
Uzhast писал(а) 24. Сентября 2007 :: 06:32:
artbear писал(а) 24. Сентября 2007 :: 05:48:
А чем тебе эти правки не нравятся?

Тем, что ломают работающий промышленный код Улыбка и приводят к тому, что функции 1С++ ведут себя не так, как принято в 1С повсеместно.

Во-первых. Например, раньше можно было писать ИндексированнаяТаблица.ВыбратьСтроку (). А теперь нельзя. Можно только, например, ИндексированнаяТаблица.ВыбратьСтроку (0). Так же видел, что кто-то еще жаловался на такое поведение с параметрами по умолчанию.

Во-вторых, подобное поведение не соответствует стандартному. Если я пишу
Код
Выбрать все
Процедура ХитроеСложение (А = 2, Б = 3) 


То я могу вызывать ее как ХитроеСложение (3). И мне не надо писать ХитроеСложение (3,). А в 1С++ надо  Улыбка

Завел спец. тему в разделе ООП
http://www.1cpp.ru/forum/YaBB.pl?num=1190633545/0
Все на тестах Улыбка
  

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: Провайдер OLE DB для ТП
Ответ #23 - 24. Сентября 2007 :: 11:39
Печать  
fez писал(а) 24. Сентября 2007 :: 11:27:
Этта... Артур... Это правда?

Нет, не все так плохо Улыбка
Смотри соответствующую ветку, я там на тестах все доказываю
  

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: Провайдер OLE DB для ТП
Ответ #24 - 24. Сентября 2007 :: 11:50
Печать  
Uzhast писал(а) 24. Сентября 2007 :: 06:32:
artbear писал(а) 24. Сентября 2007 :: 05:48:
Я использую замечательные смартпойнтеры - sh_ptr, sh_array. Написаны они не мной, но пока полностью меня устраивают.

Это потому, что ты бустовских не видел.

Я их видел, читал много про них, даже мечтаю о них Улыбка
НО:
1) у меня так просто не получилось Boost в МС ВС++ 6 подключить Печаль
2) 1С++ и ФормЕкс мы разрабатываем в МС ВС++ 6, а раз не получилось, значит, и использовать не могу.
3) разработчики 1С++ не пришли к согласию относительно использования Boost, соответственно, я не могу вставлять в 1С++ код с использованием Boost Печаль

Вот и пришлось искать замену с минимальным функционалом Улыбка

Uzhast писал(а) 24. Сентября 2007 :: 06:32:
artbear писал(а) 24. Сентября 2007 :: 05:48:
По сравнению с бустовскими они сильно упрощены, но в принципе почти весь функционал соблюден.

"Почти весь" - слишком сильно сказано. Более того, в указанных тобой классах нет минимально необходимого функционала.

Как раз минимальный функционал в них есть Улыбка
Пока меня устраивает, я эти указатели активно юзаю в 1С++ и ФормЕкс.
И даже храню их в различных векторах и других контейнерах Улыбка

ЗЫ если пришлешь хедеры Boost, буду очень признателен Улыбка
  

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: Провайдер OLE DB для ТП
Ответ #25 - 24. Сентября 2007 :: 11:59
Печать  
Uzhast писал(а) 24. Сентября 2007 :: 06:32:
Что же касается класса sh_array, то он вообще не имеет права на существование. В стандартной библиотеке есть просто замечательный класс std::vector, который по всем параметрам лучше обычных массивов в стиле C. Поэтому работать с массивами при помощи new CObject [N] - просто нет никакого смысла.

Да, std::vector рулит 100% Улыбка - я его потихоньку везде вставляю, и в 1С++, и в ФормЕкс Улыбка
Но и класс sh_array имеет право на жизнь, я его использую только для того, чтобы минимально изменить клиентский код, в котором выделяется память под массив Улыбка
  

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: Провайдер OLE DB для ТП
Ответ #26 - 24. Сентября 2007 :: 14:32
Печать  
artbear писал(а) 24. Сентября 2007 :: 11:50:
1) у меня так просто не получилось Boost в МС ВС++ 6 подключить Печаль
2) 1С++ и ФормЕкс мы разрабатываем в МС ВС++ 6, а раз не получилось, значит, и использовать не могу.

Как это не получилось? Подключал, значит, плохо. Тот проект с 1С++, что я выложил - проект для VC6. Все прекрасно работает. И прекрасно взаимодействует с ВК для ICC, сделанной в VS2005.

В VC6 только некоторые части буста неработоспособны. Например, подключение lambda.hpp прямо сразу вызывает ICE Улыбка.

artbear писал(а) 24. Сентября 2007 :: 11:50:
3) разработчики 1С++ не пришли к согласию относительно использования Boost, соответственно, я не могу вставлять в 1С++ код с использованием Boost Печаль

А вы придите! Улыбка Хватит сидеть на кривых велосипедах с квадратными колесами.

artbear писал(а) 24. Сентября 2007 :: 11:50:
Как раз минимальный функционал в них есть Улыбка
Пока меня устраивает, я эти указатели активно юзаю в 1С++ и ФормЕкс.
И даже храню их в различных векторах и других контейнерах Улыбка

Значит, понятие "минимального функционала" у нас разное. Функционала sh_ptr для меня, мягко говоря, не достаточно. Более того, для случая, когда нечаянно в смартпойнтер придет указатель на производный класс, твой любимый велосипед легко приведет к элементарным ликам.

artbear писал(а) 24. Сентября 2007 :: 11:50:
ЗЫ если пришлешь хедеры Boost, буду очень признателен Улыбка

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



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #27 - 24. Сентября 2007 :: 15:39
Печать  
Про какие хедеры boost идет речь? Исправленые или оригинальные?
  
Наверх
ICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #28 - 24. Сентября 2007 :: 15:41
Печать  
spock писал(а) 24. Сентября 2007 :: 15:39:
Про какие хедеры boost идет речь? Исправленые или оригинальные?

Я boost не правил. Просто большой он для скачивания целиком... А хедеры все ж полегче...
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Провайдер OLE DB для ТП
Ответ #29 - 24. Сентября 2007 :: 15:43
Печать  
Uzhast писал(а) 24. Сентября 2007 :: 15:41:
Просто большой он для скачивания целиком...

На сколько большой?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 ... 16
ОтправитьПечать