CftClub.ru
Клуб специалистов ЦФТ-Банк

Создание OLE объектов

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
MARINA KRAMARENKO
Участник


Вступление в Клуб: 26.08.2013
СообщениеВт Апр 22, 2014 09:02   Создание OLE объектов Ответить с цитатой
Полезность: Нет оценки
В данный момент OLE объект в ИБСО можно создать с помощью экранной формы, вручную выбрав файл WORD/EXCEL/PDF.
Кто-нибудь разбирался как это работает в Навигаторе?
Наверняка вызываются определенные Windows API для создания OLE контейнеров. Хотелось бы разобраться и создать нечто подобное, только без участия экранных форм Навигатора.
Может сталкивались с подобной задачей? Необязательно в ИБСО.
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеВт Апр 22, 2014 10:05    Ответить с цитатой
Полезность: Нет оценки
В смысле создание OLE контейнеров без привязки к ИБСО и к Ораклу ?
Тогда почему вопрос здесь ? думаю в инете найти примеры можно для любого языка...
MARINA KRAMARENKO
Участник


Вступление в Клуб: 26.08.2013
СообщениеВт Апр 22, 2014 10:53    Ответить с цитатой
Полезность: Нет оценки
Можно в любой оракловой базе. Желательно, конечно, в ИБСО или РБО.
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Апр 22, 2014 12:46    Ответить с цитатой
Полезность: 1
MARINA KRAMARENKO пишет:
Можно в любой оракловой базе. Желательно, конечно, в ИБСО или РБО.


Вы ничего не путаете?
OLE в оракловой базе вряд ли будет работать.
ОЛЕ - это фишка os windows, и при чём тут Oracle, который может быть поставлен на os HP, unix или ещё 33 разных ос?

Вы с РБО/ИБСО работаете посредством чего? АРМов.
АРМы выполняются где? На стороне клиента.
На стороне клиента - ОС Windows, и АРМ может выполнять функции, специфичные для этой ОС. Но - АРМ, как прослойка, а не код, исполняющийся хз где, может, за тыщу километров от клиента.
А в базе выполняется почти исключительно только sql и pl/sql

Так что вы, конечно, можете написать свой собственный АРМ, со своими контейнерами, блекджеком и прочим.

Ну или написать внешнюю java-процедуру с CORBA, опять же блекджеком и в общем, не слушайте меня, вы с этим не справитесь.


Последний раз редактировалось: Random (Вт Апр 22, 2014 12:53), всего редактировалось 1 раз
MARINA KRAMARENKO
Участник


Вступление в Клуб: 26.08.2013
СообщениеВт Апр 22, 2014 12:52    Ответить с цитатой
Полезность: Нет оценки
Все верно.
Но мне нужно сделать exe-шник, который будет вызываться из ИБСО и делать необходимые преобразования бинарных файлов в OLE объекты, которые потом можно будет сохранять в базу.
Примерно так сейчас происходит работа с OLE через Навигатор.
Вопрос как раз в том, как с наименьшими трудозатратами создать этот сторонний функционал и прикрутить его в ИБСО.
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Апр 22, 2014 12:57    Ответить с цитатой
Полезность: Нет оценки
MARINA KRAMARENKO пишет:
Все верно.
Но мне нужно сделать exe-шник, который будет вызываться из ИБСО и делать необходимые преобразования бинарных файлов в OLE объекты, которые потом можно будет сохранять в базу.
Примерно так сейчас происходит работа с OLE через Навигатор.
Вопрос как раз в том, как с наименьшими трудозатратами создать этот сторонний функционал и прикрутить его в ИБСО.


Visual Basic Script.

Runtime.Shell(Pathname As String, Windowstyle As Long)

Описание
Запуск внешнего приложения (exe-файл).

[бла-бла]
Пример
Код:

Public Function Main(LastControl)

  if LastControl is Button then
     if MsgBox("Запустить внешнюю программу?", vbYesNo, "Навигатор") = vbYes then
        Dim fn, fs, ec

        fn = "C:\TEMP\ExitCode.exe"
        Set fs = CreateObject("Scripting.FileSystemObject")

       if fs.FileExists(fn) then
               ec = Form1.ScriptShell(fn, 8+1)
               MsgBox "ExitCode = " & ec

       else
               MsgBox "Файл " & fn & " не существует."
       end if

        Set fs = Nothing
     end if
  end if

Main = True
End Function


Например,, результатом работы программы ExitCode.exe будет являться текстовый файл, который с экранной формы АРМ Навигатор легко можно забрать на сервер и уже там обработать и запихнуть в табличку.


Последний раз редактировалось: Random (Вт Апр 22, 2014 13:04), всего редактировалось 1 раз
MARINA KRAMARENKO
Участник


Вступление в Клуб: 26.08.2013
СообщениеВт Апр 22, 2014 13:03    Ответить с цитатой
Полезность: Нет оценки
Ну да. Так работают Excel и Word API, и никто нам голову пока не откручивал Rolling Eyes

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


Вступление в Клуб: 27.06.2011
СообщениеВт Апр 22, 2014 13:06    Ответить с цитатой
Полезность: Нет оценки
MARINA KRAMARENKO пишет:
Ну да. Так работают Excel и Word API, и никто нам голову пока не откручивал Rolling Eyes

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


Ага.
То есть вы спрашиваете совета не по работе с Oracle, а как написать свою собственную программу в виде exe-шника, которая будет работать со стандартными OLE-контейнерами и что-то сделает в результате?
MARINA KRAMARENKO
Участник


Вступление в Клуб: 26.08.2013
СообщениеВт Апр 22, 2014 13:14    Ответить с цитатой
Полезность: Нет оценки
Почему бы и не поделиться опытом?
1. Вопрос в том, что использует Навигатор ИБСО для таких преобразований.
2. В ИБСО я как-то прикручивала процедуры JAVA, которые обеспечивали функционал, которого не хватало. Хотелось бы сделать нечто подобное и теперь.
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеВт Апр 22, 2014 13:23    Ответить с цитатой
Полезность: Нет оценки
MARINA KRAMARENKO пишет:
Почему бы и не поделиться опытом?
1. Вопрос в том, что использует Навигатор ИБСО для таких преобразований.
2. В ИБСО я как-то прикручивала процедуры JAVA, которые обеспечивали функционал, которого не хватало. Хотелось бы сделать нечто подобное и теперь.


Извините, вряд ли я тут чем-то помогу.
Что касается WORD или EXCEL, то наша подсистема отчётности создаёт COM-объект через функцию VBS CreateObject, затем заставляет его выполнить VB-скрипт, заполняющий и форматирующий данные.

И, хотя вроде как в модели данных есть OLE-объекты, на практике я с ними не работал.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru