Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DHTML edit control & PowerBuilder / 12 сообщений из 12, страница 1 из 1
08.01.2004, 09:39
    #32370176
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
Никто не использовал DHTML edit control в PowerBuilder'е, а то у меня не совсем получается. Что именно не получается: вызвать функцию которой надо передавать параметр - любую. Говорит error calling external object function
и все. Присвоить значения свойствам, вызвать функцию без аргументов - без проблем. Особенно интересует вызов ExecCommand(...)
Может кто примеры использования этого самого control'а в PowerBuilder'е где-нибудь видел, а то я что-то сам ничего и не нашел по этому поводу.
...
Рейтинг: 0 / 0
08.01.2004, 13:20
    #32370415
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
В старых версиях PowerBuilder были какие-то проблемы с типом данных COM Variant.
Может в этом причина?
Возможно в последних версиях это устранено.
Какая версия PB?

Можно попробовать передавать аргументы типа Variant через переменные типа Any, которые заполнять перед вызовом.
...
Рейтинг: 0 / 0
08.01.2004, 14:26
    #32370494
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
>В старых версиях PowerBuilder были какие-то проблемы с типом данных COM
>Variant.
>Может в этом причина?
_Любые_ _переменные_ допустим вызов вот такой функции не проходит
OLEObject.DocumentHTML(string DocumentHTML)
>Возможно в последних версиях это устранено.
>Какая версия PB?
Любая которая у меня есть в наличие от 6 до 9 - поведение одинаково.

>Можно попробовать передавать аргументы типа Variant через переменные
>типа Any, которые заполнять перед вызовом.
А каким образом это будет выглядеть на PowerBuilder'е?
В object browser'е он отображает эти типы как any, но как их использовать мне что-то не совсем понятно.
...
Рейтинг: 0 / 0
08.01.2004, 15:58
    #32370667
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
автор>В старых версиях PowerBuilder были какие-то проблемы с типом данных COM
>Variant.
>Может в этом причина?
_Любые_ _переменные_ допустим вызов вот такой функции не проходит
OLEObject.DocumentHTML(string DocumentHTML)
Код: plaintext
ole_1.object.DocumentHTML = '<b>Test</b>' 


ты лучше приведи свой пример кода, который у тебя не работает, так быстрее будет
...
Рейтинг: 0 / 0
08.01.2004, 16:19
    #32370688
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
>ole_1.object.DocumentHTML = '<b>Test</b>'
Эээ... Так то работает, а же писал, что со свойствами проблем нет.

>ты лучше приведи свой пример кода, который у тебя не работает, так
>быстрее будет
Я же написал - вызов любой функции, ну хорошо - вот пример:
string s
s = "<b>Test</b>"
ole_1.object.DocumentHTML(s)

Сообщение об ошибке - error calling external object function documenthtml at line 3 in clicked event of object cb_1 of w_main_mdi.

Также не работает LoadURL и вообще, все функции с параметрами. Без параметров - все работают.

PS. В MSDN написано, что DHTML edit control должен работать с PowerBuilder'ом, правда пример они не приложили :)
...
Рейтинг: 0 / 0
08.01.2004, 17:29
    #32370803
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
аргумент LoadURL должен быть в UNICODE
Код: plaintext
ole_1.Object.LoadURL(ToUnicode( "http://ya.ru/" ))


в COM обычно уникодные строки используются
...
Рейтинг: 0 / 0
08.01.2004, 18:00
    #32370850
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
Мистика какая-то.
Теперь работает ole_1.Object.LoadURL(ToUnicode("http://ya.ru/"))
и даже так работает ole_1.Object.LoadURL("http://ya.ru/")
правда в PB9.0. Пойду дома попробую (у меня там другой билд 9.0 стоит).

В PB 6.0, правда, не работает.

Но как все-таки с ExecCommand работать?
Может кто подскажет, где описаны cmdID, а то я никак не найду? И как с типом any там работать?
...
Рейтинг: 0 / 0
08.01.2004, 18:17
    #32370867
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
Похоже на баг ...
...
Рейтинг: 0 / 0
08.01.2004, 18:31
    #32370878
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
Может кто подскажет, где описаны cmdID, а то я никак не найду?
%PlatformSDK%/Include/DHtmled.js ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
// DHTML Editing Component Constants for JavaScript
// Copyright  1998 - 1999  Microsoft Corporation.  All rights reserved.
//

//
// Command IDs
//
DECMD_BOLD =                       5000 
DECMD_COPY =                       5002 
DECMD_CUT =                        5003 
DECMD_DELETE =                     5004 
DECMD_DELETECELLS =                5005 
DECMD_DELETECOLS =                 5006 
DECMD_DELETEROWS =                 5007 
DECMD_FINDTEXT =                   5008 
DECMD_FONT =                       5009 
DECMD_GETBACKCOLOR =               5010 
DECMD_GETBLOCKFMT =                5011 
DECMD_GETBLOCKFMTNAMES =           5012 
DECMD_GETFONTNAME =                5013 
DECMD_GETFONTSIZE =                5014 
DECMD_GETFORECOLOR =               5015 
DECMD_HYPERLINK =                  5016 
DECMD_IMAGE =                      5017 
DECMD_INDENT =                     5018 
DECMD_INSERTCELL =                 5019 
DECMD_INSERTCOL =                  5020 
DECMD_INSERTROW =                  5021 
DECMD_INSERTTABLE =                5022 
DECMD_ITALIC =                     5023 
DECMD_JUSTIFYCENTER =              5024 
DECMD_JUSTIFYLEFT =                5025 
DECMD_JUSTIFYRIGHT =               5026 
DECMD_LOCK_ELEMENT =               5027 
DECMD_MAKE_ABSOLUTE =              5028 
DECMD_MERGECELLS =                 5029 
DECMD_ORDERLIST =                  5030 
DECMD_OUTDENT =                    5031 
DECMD_PASTE =                      5032 
DECMD_REDO =                       5033 
DECMD_REMOVEFORMAT =               5034 
DECMD_SELECTALL =                  5035 
DECMD_SEND_BACKWARD =              5036 
DECMD_BRING_FORWARD =              5037 
DECMD_SEND_BELOW_TEXT =            5038 
DECMD_BRING_ABOVE_TEXT =           5039 
DECMD_SEND_TO_BACK =               5040 
DECMD_BRING_TO_FRONT =             5041 
DECMD_SETBACKCOLOR =               5042 
DECMD_SETBLOCKFMT =                5043 
DECMD_SETFONTNAME =                5044 
DECMD_SETFONTSIZE =                5045 
DECMD_SETFORECOLOR =               5046 
DECMD_SPLITCELL =                  5047 
DECMD_UNDERLINE =                  5048 
DECMD_UNDO =                       5049 
DECMD_UNLINK =                     5050 
DECMD_UNORDERLIST =                5051 
DECMD_PROPERTIES =                 5052 

//
// Enums
//

// OLECMDEXECOPT  
OLECMDEXECOPT_DODEFAULT =          0  
OLECMDEXECOPT_PROMPTUSER =         1 
OLECMDEXECOPT_DONTPROMPTUSER =     2 

// DHTMLEDITCMDF
DECMDF_NOTSUPPORTED =              0  
DECMDF_DISABLED =                  1  
DECMDF_ENABLED =                   3 
DECMDF_LATCHED =                   7 
DECMDF_NINCHED =                   11 

// DHTMLEDITAPPEARANCE
DEAPPEARANCE_FLAT =                0 
DEAPPEARANCE_3D =                  1  

// OLE_TRISTATE
OLE_TRISTATE_UNCHECKED =           0 
OLE_TRISTATE_CHECKED =             1 
OLE_TRISTATE_GRAY =                2 

...
Рейтинг: 0 / 0
08.01.2004, 20:12
    #32370944
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
Я как то работал на проекте, где активно использовался DHTML edit control. Кончилось на том что для него wrapper Delphi написали, поскольку РВ только late binding могёт. Но тем не менее большинство методов работало и без wrapperа...
У меня всё это есть, могу отрыть...
...
Рейтинг: 0 / 0
08.01.2004, 21:59
    #32370978
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
Хм, и дома на PB 9 работает, прямо не знаю. Может в скрипте где ошибся, когда тестировал.
А на PB 6 не работает.
Еще интересная вещь выяснилась. Создаем документ в Word'е на русском, сохраняем в HTML. Все codepage там по путю проставленны и т.д. Из IE - нормальный документ, из PB 9 через DHTML - нормальный, а в PB6 через DHTML - кракозябы из латинского шрифта.

to Филипп: Конечно, интересно было бы посмотреть, тем более что я материала по сопряжению PowerBuilder vs DHTML фактически не нашел.
...
Рейтинг: 0 / 0
08.01.2004, 22:00
    #32370979
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DHTML edit control & PowerBuilder
to Anatoly Moskovsky спасибо за наводку на cmdID, а то я их обыскался.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DHTML edit control & PowerBuilder / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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