Конференция "Corba" » COM обьект 1с "ДвоичныеДанные"
 
  • multiflex (12.08.08 07:44) [0]
    Есть некоторые данные сохраненные в регистрах сведений с типом "ХранилищеЗначения". в принципе это "ДвоичныеДанные" ( не Картинка ), так вот вопрос: написан СОМ обьект на Delphi, можно ли передав ему подобную переменную, эти данные извлечь? Дело в том, что из стандартных методов предоставляемых в среде 1с есть только "записать", т.е. на диск. Кто либо с такой задачей сталкивался?., не очень то охото читать из таблицы и получать доступ к данным через диск. Нигде не могу найти.
  • Сергей М. © (12.08.08 12:45) [1]

    > написан СОМ обьект на Delphi


    Внешний 1C-компонент что ли ?
  • MultIfleX (12.08.08 14:43) [2]
    нет, ActiveX, но это не меняет сути =) Там сначала были функции сокета, потом ещо много чего туда понадобавлял, сейчас вот еще это =) Все работает и через диск, просто пути оптимизации ищу.
  • Сергей М. © (12.08.08 14:50) [3]

    > это не меняет сути


    Это ощутимо меняет суть.

    Пользуй Olevariant-тип
  • MultIfleX (14.08.08 06:41) [4]

    > Это ощутимо меняет суть.Пользуй Olevariant-тип

    Даблин я его получаю как параметр функции, прямотаки весь приполучался, а впихивать невпихуемое неудается... Данные както извлечь хотелось бы из этой лабуды. Простые значения типа строка число и прочее - очень легко приводятся к определенным типам, а вот с хранилищем как поступать, какие методы есть и прочее, вот что я хотел узнать. Как методы и свойства перечислить у любой такой вариантины ???

    ЗЫ. Как это меняет суть ?
  • Сергей М. © (14.08.08 13:24) [5]
    Ты не нервничай, луна на землю пока еще падать не собралась)


    > Как методы и свойства перечислить у любой такой вариантины
    > ?


    Какие могут быть методы и свойства у "вариантины" ?
    Методы и свойства случаются у классов и объектов, а "вариантина" - это просто запись, не более того.


    > Как это меняет суть ?


    А ты в курсе протокола взаимодействия 1С с внешними компонентами ?
  • Сергей М. © (14.08.08 13:26) [6]
    Тек.тип варианта - см. TVarData(вариант).VType
    Дальше пляска зависит от конкретного типа.
  • multiflex (15.08.08 14:37) [7]
    Да, удачно написано 2 компоненты, взаимодействие понимаю. Однако, в данном случае, у меня всетаки не компонент, а АctiveX, тоесть в методы моего класса из эски я передаю параметры именно как тип OleVariant. Затем я могу ( и делаю ) следующее:

    function TSocketTextX.ParseArrSDX(Val:OleVariant):OleVariant;
    begin
    .....
    for i := 0 to val.ВГраница do
     ...
     zx := Val.Получить(i);
     ...

    .....
    end;

    тоесть имеем именно методы (передаю в качестве параметра обьект Массив ( ну или класс, в эске там кругом только классы да структуры) )..

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


    > Тек.тип варианта - см. TVarData(вариант).VTypeДальше пляска
    > зависит от конкретного типа.

    ок, спасибы, попробую. Тока недавно начал с СОМ и ЭктивХ работать, ещо не устаканился. ;)
  • Сергей М. © (15.08.08 16:52) [8]

    > Вроде ща пояснил уже понятно
    > я передаю в качестве параметра обьект


    Теперь да, понятно.

    Если передан именно объект, доступ к его данным возможен только через методы и свойства этого объекта.


    > спасибы, попробую


    Можешь даже не пробовать - увидишь там не иначе как varDispatch.
  • multiflex (15.08.08 21:48) [9]
    Тоесть не позволительно спускаться уровнем ниже.... все ясно, если кто следующим постом кинет ссылку на читабельный материал по теме, тому спасибо.

    Сергей, спасибо и Вам.
 
Конференция "Corba" » COM обьект 1с "ДвоичныеДанные"
Есть новые Нет новых   [120360   +41][b:0][p:0]