powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ole control в DW
7 сообщений из 7, страница 1 из 1
Ole control в DW
    #33332400
DvB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DvB
Гость
Господа!
Если вставить в DW ole-control (например, создать его из файла без указания link'а ) то содержимое файла будет храниться в экспорте DW (srd) в бинарной секции. Так вот, вопрос - как его извлечь (насколько я понимаю, describe здесь не поможет)?
...
Рейтинг: 0 / 0
Ole control в DW
    #33333888
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю - никак.
...
Рейтинг: 0 / 0
Ole control в DW
    #33334459
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может брать синтаксис DW и парсить?
...
Рейтинг: 0 / 0
Ole control в DW
    #33334627
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря для чего это нужно.

1) Можно через ORCA (PB9 и выше) считать и декодировать бинарные данные.
2) Можно с помощью pbldump сохранить в файл и считать оттуда в блоб (для любой версии PB) или им же сохранить исходник DW в файл и считать в строковую переменную, а потом распарсить бинарную секцию исходника.
...
Рейтинг: 0 / 0
Ole control в DW
    #33334662
radius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно попробовать через OLEActivete активировать OLE контрол, а потом зная класс OLE контрола попробовать подцепиться к нему локальным OLE объектом через ConnetToNewObject .

А дальше использовать локальный OLE объект и сохранить его содержимое в файл. Небольшой пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
dw_1.oleActivate( 1 ,"ole", 0 )
// Create a oleobject to get access to the running word application server 
OLEObject myoleobject
myoleobject = CREATE OLEObject

// connect to Word that is currently running from OleActivate()
IF myoleobject.ConnectToObject("", "word.application.8") <>  0  THEN
MessageBox('OLE Error','Unable to start an OLE server process!',Exclamation!)
END IF
myoleobject.Visible=TRUE
У меня подобный код работал косо и я отказался от использования OLE контролов в DW
...
Рейтинг: 0 / 0
Ole control в DW
    #33334970
DvB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DvB
Гость
To Andrew Nagorny.

Дело в том, что в синтаксе, по крайней мере в PB 903 этой секции нет. Она есть только в экспорте DS, если открыть его как обычный текстовый файл.
...
Рейтинг: 0 / 0
Ole control в DW
    #33335026
DvB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DvB
Гость
Способы, предложенные гг. radius и Moskovsky, безусловно имеют место быть,
но. по не относящимся к делу причинам для меня не подходят.
В "соблазн" меня ввело обстоятельство, что у ole-контролов, вставляемых в окна есть свойство .ObjectData, где и лежит искомое. А у DW'шных ole-контролов такого (и чего-либо подобного) почему-то нет.
Поиски в интернете дали только одну (!) ссылку, где в окружении иероглифов
красовалось что-то вроде dw.Object.ole_1.Value(... К сожалению, ссылка оказалась нерабочей.
Я попытался разобрать этот контрол как dwo, через функцию __get_attribute(),
но и тут не добился. Правда в результате раскопок обнаружились две еще менее документированные функции __set_attribute() и __set_attribute_item(),
но это так, побочный эффект...
Так что, пожалуй, следует искать иных путей. Спасибо всем. кто откликнулся.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ole control в DW
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]