Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Не понял, как теперь заменить базовый класс... (число прочтений - 4008 )
Vaicartana
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 50
Местоположение: Far, Far Away...
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Не понял, как теперь заменить базовый класс...
11. Сентября 2006 :: 09:34
Печать  
пишу

Этот=Сам();
Рез=Этот.ЗаменитьБазовыйОбъект("Структура",Этот);

Выдает Рез=0.

Старый метод "НазначитьБазовыйКласс(<ИмяБазовогоКласса>)" не работает, в исходниках написано что более не поддерживается.

Как теперь "на лету" базовый класс заменить?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не понял, как теперь заменить базовый класс...
Ответ #1 - 11. Сентября 2006 :: 09:39
Печать  
Класс "Этот()" у тебя какого типа?
Он должен быть унаследован только от Структура.
Раньше в 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 записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не понял, как теперь заменить базовый класс...
Ответ #2 - 11. Сентября 2006 :: 09:40
Печать  
Т.е. выложи полное определение твоего класса
  

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


I Love YaBB 2!

Сообщений: 50
Местоположение: Far, Far Away...
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: Не понял, как теперь заменить базовый класс...
Ответ #3 - 19. Сентября 2006 :: 09:59
Печать  
"Раньше в 1С++ был баг, когда можно было менять базовый объект на класс любого типа, не только базового. "

дык, это был не баг а фича! Я определял класс путем
МойКласс=Класс.ert
{}

А затем в модуле класса прописывал
Сам().ЗаменитьБазовыйКласс("Структура") // или "ТаблицаЗначений" или еще чего...

После чего мой класс СТАНОВИЛСЯ структурой или чем мне там надо. В ОПРЕДЕЛЕНИИ я ничего никогда не добавлял.
И вот те нате... "Он должен быть унаследован только от Структура"

Выходит что сейчас нет возможности ДИНАМИЧЕСКИ менять тип класса?
За что ёжика обидили, он никому ничё плохого не делал!
Прошу вернуть все взад. Т.е. как былО.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не понял, как теперь заменить базовый класс...
Ответ #4 - 21. Сентября 2006 :: 11:23
Печать  
Это не аргумент.
Мы перед отключением указанного метода поломали достаточно копий и решили, что иерархия классов не должна быть динамической.
Поэтому возврата не будет!
Могу посоветовать тольк переделать свою иерархию или привести более расширенный пример нужного тебе поведения.
  

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


I Love YaBB 2!

Сообщений: 50
Местоположение: Far, Far Away...
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: Не понял, как теперь заменить базовый класс...
Ответ #5 - 25. Сентября 2006 :: 08:46
Печать  
А можно пару "копий" или ссылок на них?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не понял, как теперь заменить базовый класс...
Ответ #6 - 25. Сентября 2006 :: 10:56
Печать  
Поиск по НазначитьБазовыйКласс на этом форуме или на итланде тебе поможет.
Глубина поиска - год или  полгода.
  

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