|
Как сделать Override для функции?
|
|||
---|---|---|---|
#18+
Здравствуйте, коллеги! Я к вам с сабжем. Есть приложение для работы с БД. Экзешник, набор pbd-шек, набор pbl-ек. Исходников нет. PowerBuilder 6.5 build 1326 Опытным путем установленно, что интересующая меня форма - суть Userobject uo_edit на нем лежат DataWindow dw и MultiLineEdit mle . В окне есть несколько Computed Field-ов, имитирующих кнопки. При нажати на эти "кнопки" выполняеются определенные действия, например, вызывается функция Код: plaintext
Все это хозяйство упрятано в разные pbd-шки, uo_edit в одной, f_action_history в другой, dw в третей. Можно ли как-то перекрыть эту самую функцию, чтобы в as_result оказывалось не то, что задумали разработчики, а то что нужно мне? Что у меня получилось... Создал в pbl uo_edit1 унаследованный от исходного. Через Function painter нарисовал свою функцию с таким же названием, но сохраненную в pbl. В скрипте для uo_edit1 на событие oe_buttonclicked повесил такой код Код: plaintext 1. 2. 3. 4.
P.S. Хелп читал, но нужного не нашел. P.P.S. Форум читал, но нужного не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:04 |
|
Как сделать Override для функции?
|
|||
---|---|---|---|
#18+
У Вас какая-то каша. Если есть pbl'ки, то есть исходники (это и есть исходники), соответственно есть где-то определение функции f_action_history. Почему нельзя просто зайти в функцию и поменять код возврата? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:19 |
|
Как сделать Override для функции?
|
|||
---|---|---|---|
#18+
15.11.2010 12:04, Guf пишет: > Можно ли как-то перекрыть эту самую функцию Нет. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:25 |
|
Как сделать Override для функции?
|
|||
---|---|---|---|
#18+
Локшин Марк, Да, не понятно выразился. Разработчики системы оставили некоторое пространство для маневров, чтобы можно было создавать дополнительные отчеты формы и т.д. Но ядро системы упрятано в pbd. Получается, что я как администратор системы на стороне клиента, имею право и знаю как добавить новый функционал, не обращаясь к разработчикам (в рамках опрерделенных разрабами методологий). Я могу добавлять новые датавиндоу в pbl заносить их имена в нужные системные таблицы (системные с точки зрения Аладдина, а не системные самого скуля). Они подхватываются и ву-аля - новый отчет. Но потребавалось большее... Здесь я пылся заити со стороны SQL, но это околзался тупиковый путь. Теперь ищу варианты на стороне клиета. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:36 |
|
Как сделать Override для функции?
|
|||
---|---|---|---|
#18+
Dim2000, Жаль. Другой вопрос. Могу ли я перекрыть событие нажатия на левой педалю мыши на компьютед филд в датавиндоу? То что я написал в первом посте менябы устроило, если не одно НО. Сначала происходят действия заложенные разработчиками, а уже потом я вижу свой мессаджбокс. А так чтоб наобот, не знаю как. То что наследоваться от датавиндоу нельзя, это понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:44 |
|
Как сделать Override для функции?
|
|||
---|---|---|---|
#18+
Guf, Ссылка битая. Какая будет подхватываться функция зависит от того в каком порядке подключаются библиотеки к проекту, ну и сперва ищется в той библиотеке из которой она вызывается (но в этом я сомневаюсь, а проверять лень :) ) Поищите по форуму или поэксперементируйте сами. Я к таким трюками не прибегаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 12:44 |
|
Как сделать Override для функции?
|
|||
---|---|---|---|
#18+
Локшин Марк, не битая Локшин МаркКакая будет подхватываться функция зависит от того в каком порядке подключаются библиотеки к проекту Чёрт! Я знаю это. Я был уверен, что так и есть у меня! Я ошибся. Проверю работоспособность чуть позже. Локшин МаркЯ к таким трюками не прибегаю. Не мы такие, жизнь такая (с) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2010, 13:03 |
|
|
start [/forum/topic.php?fid=15&msg=36956792&tid=1335832]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 159ms |
0 / 0 |