Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Вопрос по наследованию от объектов ВК (число прочтений - 15202 )
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #15 - 28. Июня 2007 :: 01:07
Печать  
Arta писал(а) 27. Июня 2007 :: 13:11:
Да, из 1С, мне по работе нужно считывать некоторые данные из мобильников по кому. На вторых пнях работало. Сейчас уже другие тачки.

Может у тебя версия более ранняя? У меня DLL от 24 апреля 2007
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #16 - 28. Июня 2007 :: 09:08
Печать  
ХЗ, обновлял буквально пару недель назад, значит версия последняя
  
Наверх
 
IP записан
 
victuan
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 20
Зарегистрирован: 02. Июля 2007
Re: Вопрос по наследованию от объектов ВК
Ответ #17 - 03. Июля 2007 :: 02:38
Печать  
Таже проблема и уменя!

ЗагрузитьВнешнююКомпоненту("ValTable.dll");
ТЗ = СоздатьОбъект("AddIn.ValTable")

Конструкция
ИндексТЗ = Сам(Контекст).ПолучитьБазовыйКласс("AddIn.ValTable");
Возврат ИндексТЗ.НоваяКолонка(Ид,Тип);
выдает ошибку:
{C:\ПРИМЕР.ERT(12)}: Имя класса: CAddInContext для которого не удалось сформировать имя в методе CComponentClass::GetFullTypeName! Обратитесь за консультацией к разработчику.

и что нужно писать в defcls.prm:
класс ValTableExt = ValTableExt.ert:AddIn.ValTable ? 

А зачем это нужно отвечу так. Я пытаюсь заменить в обработках стандартную ТЗ ее эмулятором на ВК без переписывания кода. Методы ВК отличаются от методов станд. ТЗ. Потомком я привожу эти методы в соответствие (пример эмулятора ТЗ через IndexedTable см. здесь: http://1c.proclub.ru/modules/mydownloads/personal.php?cid=137&lid=6257). Нужно это при обработке больших объемов данных, т.к. станд. ТЗ не справляется, ИндексированнаяТаблица, кстати, тоже.

Поэтому пытаюсь "прикрутить" это: http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3280
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #18 - 03. Июля 2007 :: 05:20
Печать  
Постараюсь сегодня/завтра сделать, в вечернее время
ЗЫ но в пятницу уезжаю в отпуск, могу и не успеть.
  

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: Вопрос по наследованию от объектов ВК
Ответ #19 - 03. Июля 2007 :: 17:29
Печать  
Проблему решил.
Схема решения - при создании объекта ВК, созданных по штатной технологии создания ВК, т.е. при вызове СоздатьОбъект("Addin.НужныйОбъект"),
1С++ вместо обычного объекта ВК возвращает его потомка, специальный объект-заместитель (прокси), который обладает всеми свойствами и методами объекта ВК. Одно отличие - прокси-объект умеет вернуть "правильное" название типа объекта "Addin.НужныйОбъект".
В итоге достигается две вещи
1) для объектов ВК удается получить их тип значения
2) появилась возможность наследовать свои классы-наследники от объектов ВК

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

ЗЫ Поправьте меня, если я ошибаюсь в том, что у ВК, созданных по штатной технологии создания ВК, объекты носят наименование "Addin.НужныйОбъект" .
Мое решение рассчитано именно на это условие.

Выкладываю тестовую сборку, в основной репозитарий пока не заливал.
Прошу заинтересованных лиц потестировать и сообщить о результатах.

http://webfile.ru/1458784 - 350 Кб сюда не поместилось Печаль
  

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: Вопрос по наследованию от объектов ВК
Ответ #20 - 04. Июля 2007 :: 06:10
Печать  
Хоть кто-то проверил?

Я лично проверял на объекта V7plus, все работает как обычно.

А то ведь уйду в отпуск через 2 дня и не залью изменения, будете еще месяц ждать Улыбка
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #21 - 04. Июля 2007 :: 06:28
Печать  
artbear писал(а) 04. Июля 2007 :: 06:10:
Хоть кто-то проверил?

Я лично проверял на объекта V7plus, все работает как обычно.

А то ведь уйду в отпуск через 2 дня и не залью изменения, будете еще месяц ждать Улыбка

Проверил на ВК от romix, с которой всё началось, далеко не тестил но конструктор и ПолучитьБазовыйКласс отрабатывает без проблем

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #22 - 04. Июля 2007 :: 06:36
Печать  
Меня интересует, работают ли для подобного объекта-наследника исходные методы базы, т.е. объекта ВК ?
Для v7plus все ок.

А с самим наследованием проблем быть не должно, тут все давно проверено.
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #23 - 04. Июля 2007 :: 06:50
Печать  
artbear писал(а) 04. Июля 2007 :: 06:36:
Меня интересует, работают ли для подобного объекта-наследника исходные методы базы, т.е. объекта ВК ?
Для v7plus все ок.

А с самим наследованием проблем быть не должно, тут все давно проверено.


На счет методов не знаю а вот свойства похоже не видятся, я добавлял в ВК romixa свойство ПортОткрыт, так вот его не видать
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #24 - 04. Июля 2007 :: 09:39
Печать  
Nick писал(а) 04. Июля 2007 :: 06:50:
artbear писал(а) 04. Июля 2007 :: 06:36:
Меня интересует, работают ли для подобного объекта-наследника исходные методы базы, т.е. объекта ВК ?
Для v7plus все ок.

А с самим наследованием проблем быть не должно, тут все давно проверено.


На счет методов не знаю а вот свойства похоже не видятся, я добавлял в ВК romixa свойство ПортОткрыт, так вот его не видать

- Другие свойства проверь.
- Что означает "похоже не видятся", "не видать" ? подробнее скажи - выдается ошибка или что?
- Что значит "я добавил в ВК" ?
- без загруженной 1С++ (или не на тестовой версии 1С++) это свойство видно? т.е. если написать
Объект = СоздатьОбъект(ИмяОбъектаВК);
Сообщить(Объект.ПортОткрыт);
нормально работает?
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #25 - 04. Июля 2007 :: 09:47
Печать  
- Другие свойства проверь.
- Что означает "похоже не видятся", "не видать" ? подробнее скажи - выдается ошибка или что?
- Что значит "я добавил в ВК" ?
- без загруженной 1С++ (или не на тестовой версии 1С++) это свойство видно? т.е. если написать 
Объект = СоздатьОбъект(ИмяОбъектаВК);
Сообщить(Объект.ПортОткрыт);
нормально работает?

1. Других нету Печаль
2. При попытке обратится к нему говорит что нет
3. То и знаяит перекомпилил ВК
4. Да я его использую, всё работает
5. Вот именно это и не работает
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #26 - 04. Июля 2007 :: 09:48
Печать  
Класс пустой 1 конструктор
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #27 - 04. Июля 2007 :: 09:52
Печать  
При ЗАГРУЖЕННОЙ ТЕСТОВОЙ 1С++ из этой ветки что выдает указанный выше код ? БЕЗ использования наследования от объекта ВК, т.е.
просто создаем обычный объект ВК и обращаемся к его свойству?
работает? или нет?
Объект = СоздатьОбъект(ИмяОбъектаВК); 
Сообщить(Объект.ПортОткрыт);
  

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



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #28 - 04. Июля 2007 :: 09:55
Печать  
artbear писал(а) 04. Июля 2007 :: 09:52:
При ЗАГРУЖЕННОЙ ТЕСТОВОЙ 1С++ из этой ветки что выдает указанный выше код ? БЕЗ использования наследования от объекта ВК, т.е.
просто создаем обычный объект ВК и обращаемся к его свойству?
работает? или нет?
Объект = СоздатьОбъект(ИмяОбъектаВК);  
Сообщить(Объект.ПортОткрыт);

Нормально работает,
Так работает:
rs232=СоздатьОбъект("AddIn.vk_rs232");
Сообщить(Объект.ПортОткрыт);
Так Нет
rs232=СоздатьОбъект("СОМПорт");
Сообщить(Объект.ПортОткрыт);
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по наследованию от объектов ВК
Ответ #29 - 04. Июля 2007 :: 09:59
Печать  
Извини, но у тебя загружена моя ВК из этой ветки?
точно?
  

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 
ОтправитьПечать