Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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, и никто нам голову пока не откручивал
А тут я хочу вызывать функционал посложнее, который будет делать преобразования. Наверняка же есть стандартные инструменты, которые будут отрабатывать с помощью ехе-шника. |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Вт Апр 22, 2014 13:06   |
|
Полезность: Нет оценки
|
MARINA KRAMARENKO пишет: | Ну да. Так работают Excel и Word API, и никто нам голову пока не откручивал
А тут я хочу вызывать функционал посложнее, который будет делать преобразования. Наверняка же есть стандартные инструменты, которые будут отрабатывать с помощью ехе-шника. |
Ага.
То есть вы спрашиваете совета не по работе с 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-объекты, на практике я с ними не работал. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|