Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Метаданные присоединенной б/д (число прочтений - 8353 )
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Метаданные присоединенной б/д
Ответ #15 - 21. Сентября 2007 :: 17:02
Печать  
Цитата:
Подскажи каким образом узнать что char(9) означает ссылку на справочник Номенклатура?


Никак.

  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Метаданные присоединенной б/д
Ответ #16 - 21. Сентября 2007 :: 17:45
Печать  
trad
Дима, отличная идея. Улыбка

trad писал(а) 21. Сентября 2007 :: 15:06:
artbear писал(а) 21. Сентября 2007 :: 13:45:
trad писал(а) 21. Сентября 2007 :: 13:35:
Как мне кажется можно MetaDataWork снабдить атрибутом Метаданные (типа Метаданные) который бы предоставлял доступ к метаданным присоединенного md.
И реализация думаю будет не сложная. Может кто то из разработчиков и сделает.

Намекнешь, каким образом? Улыбка

посмотрел.
CMetadataContext - не экспортирован.
Тады ой.

Это не особо страшно.
Определение класса очень простое и позволяет при некотором желании создавать объекты.
Код
Выбрать все
//+ SIZEOF OK R27 0x24
class CMetadataContext : public CBLContext
{
	DECLARE_DYNCREATE(CMetadataContext)
	CTaskDef* pTaskDef;					// 0x20
};
 


  

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



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Метаданные присоединенной б/д
Ответ #17 - 22. Сентября 2007 :: 06:55
Печать  
kms писал(а) 21. Сентября 2007 :: 17:45:
Это не особо страшно.
Определение класса очень простое и позволяет при некотором желании создавать объекты.
Код
Выбрать все
//+ SIZEOF OK R27 0x24
class CMetadataContext : public CBLContext
{
	DECLARE_DYNCREATE(CMetadataContext)
	CTaskDef* pTaskDef;					// 0x20
};
 



Только макрос DECLARE_DYNCREATE не прокатит ибо CMetadataContext::CreateObject нет в экспорте.
Конечно, некоторая вероятность нахождения решения есть всегда.
Надо будет поискать конструктор, хотя бы с целью установки vftable
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Метаданные присоединенной б/д
Ответ #18 - 22. Сентября 2007 :: 07:21
Печать  
Ну... DECLARE_DYNCREATE - это просто обозначение, что CreateObject там есть.

Я к чему клоню: можно обойтись и без экспортов, если их нет.
А что остается?

У меня вполне работает такой простой тест:
Код
Выбрать все
  case funcMetadata:
	CMetadataContext* pCont0 = (CMetadataContext*)ppValue[0]->GetContext();
	CMetadataContext* pCont = (CMetadataContext*)(*pCont0->GetRuntimeClass()->m_pfnCreateObject)();

	  pCont->pTaskDef = m_pMetaDataCont->pTaskDef;
	  rValue.AssignContext(pCont);
	  break;
 


Параметром 1 нужно передавать объект "Метаданные", чтобы определить адрес этой самой CreateObject().

Я что-то не знаю, как по-другому получить живой CMetadataContext, но конечно, что-то нужно придумывать, определять адрес 1 раз, а реализацию делать не методом, а свойством.

Ну ладно, пора бросать это дело.
Разработчики 1cpp доведут до ума, а я в этот день пойду выпью за твое здоровье! Улыбка
  

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



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Метаданные присоединенной б/д
Ответ #19 - 22. Сентября 2007 :: 07:47
Печать  
да, в принципе, я уже определил и адрес конструктора и адрес таблицы ВФ. да и "живой CMetadataContext" получить тоже не проблема, что бы реализация была релизонезависимой
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


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

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Метаданные присоединенной б/д
Ответ #20 - 22. Сентября 2007 :: 08:24
Печать  
trad писал(а) 22. Сентября 2007 :: 07:47:
да, в принципе, я уже определил и адрес конструктора и адрес таблицы ВФ. да и "живой CMetadataContext" получить тоже не проблема, что бы реализация была релизонезависимой

Классно, ну я ни разу в тебе не сомневался.
Просто вчера так понравилась твоя идея, что я никак не мог смириться с выводом "тады ой" Подмигивание

Вообще, Дим, вдогонку, хочется пожелать еще побольше времени и здоровья, на претворение всех твоих замечательных идей в жизнь.
Путь мечты сбываются, рано или поздно. Улыбка
  

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


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Метаданные присоединенной б/д
Ответ #21 - 22. Сентября 2007 :: 09:04
Печать  
trad писал(а) 22. Сентября 2007 :: 07:47:
да, в принципе, я уже определил и адрес конструктора и адрес таблицы ВФ. да и "живой CMetadataContext" получить тоже не проблема, что бы реализация была релизонезависимой

Ждем результата - типа подарок всем нам от тебя в твой ДР Улыбка
  

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: Метаданные присоединенной б/д
Ответ #22 - 26. Сентября 2007 :: 04:28
Печать  
Выполнено.
http://www.1cpp.ru/forum/YaBB.pl?num=1173766505/30#30

Спасибо trad-у Улыбка
  

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



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Метаданные присоединенной б/д
Ответ #23 - 26. Сентября 2007 :: 08:34
Печать  
Да, оперативность потрясает! Улыбка
Спасибо!

Осталось пожелать в спецификации имен добавить символ (например $$) для обращения
к таблицам второй базы. Тем более что и для ДБФ и для SQL
такой функционал достигается преобразованием текста запроса в несколько строчек.
Мне кажется - это было бы удобно.
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Метаданные присоединенной б/д
Ответ #24 - 26. Сентября 2007 :: 18:55
Печать  
Ужас
Респект, проверим!
Эх кабы время найти!
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать