Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Delegation in PowerBuilder 9 / 10 сообщений из 10, страница 1 из 1
01.08.2003, 14:37
    #32225133
Ermak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
Собственно, кто и что может сказать про делегирование в PowerBuilder 9?
...
Рейтинг: 0 / 0
01.08.2003, 14:42
    #32225139
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
Очень интересный вопрос. Микола обещал на выходные посмотреть и дать ответ. Ждем с нетерпением :)

P.S. Мне лично не вериться, что в 9 это сделали - это была бы целая революция с полной переработкой всех классов PB и PFC. Ну или как и с Exception - сделали только для поддержки серверов и в базовых классах нигде не задействовали.
...
Рейтинг: 0 / 0
01.08.2003, 16:40
    #32225314
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
Вот что говорит Sybase
Код: 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.
Using delegation
Delegation occurs when objects offload processing to other objects.

Aggregate relationship In an aggregate relationship (sometimes called a whole-part relationship ), an object (called an owner object) associates itself with a service object designed specifically for that object type.

For example, you might create a service object that handles extended row selection in DataWindow objects. In this case, your DataWindow objects contain code in the Clicked event to call the row selection object.

 To use objects in an aggregate relationship:

Create a service object (u_sort_dw in this example).


Create an instance variable (also called a reference variable) in the owner (a DataWindow control in this example):



u_sort_dw iuo_sort




Add code in the owner object to create the service object:



iuo_sort = CREATE u_sort_dw




Add code to the owner's system events or user events to call service object events or functions. This example contains the code you might place in a ue_sort user event in the DataWindow control:



IF IsValid(iuo_sort) THEN    Return iuo_sort.uf_sort() ELSE    Return -1 END IF




Add code to call the owner object's user events. For example, you might create a CommandButton or Edit>Sort menu item that calls the ue_sort user event on the DataWindow control.


Add code to the owner object's Destructor event to destroy the service object:



IF IsValid(iuo_sort) THEN    DESTROY iuo_sort END IF




...
Рейтинг: 0 / 0
01.08.2003, 17:44
    #32225399
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
Хе хе - это делегирование работает в любой версии PB - пишем вызовы соотвествующих функций и событий сервиса из под родительского обьекта ручками из под соотвествующих событий и все работает. Но это вообще то не делегирование событий. Другое дело, если бы я мог написать сервис, который сам бы мог подписываться на нужные события DataWindow и реагировать на них автопилотом, тогда другое дело. Кстати тогда бы отпала необходимость в u_dw, так как можно было на любую форму где лежит самый обыкновенный DataWindow прямо понакидать нужных сервисов и указать им, с какими DataWindow они работают, таким образом расширив функциональность нужным образом, не прибегая к наследованию DataWindow и ручному писанию кода. Ну да ладно - в принципе их способ тоже не плох, просто концепция другая, да кода чуть больше получается.
...
Рейтинг: 0 / 0
01.08.2003, 18:38
    #32225444
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
ASCRUS , то о чём ты говоришь, к delegation никакого отношения не имеет. Для этого нужны interfaces a-la Java и listeners.
Ни того, ни другого в РВ9 нет, может в 10-м будет...
...
Рейтинг: 0 / 0
01.08.2003, 18:49
    #32225450
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
ASCRUS , я кажется понял, откуда ноги вопроса растут - из С#повского delegates.
Powerscript не поддерживает function pointers и callbacks, в том чисде и в РВ9, поэтому и delegates а-ля С# там нет.
...
Рейтинг: 0 / 0
03.08.2003, 14:58
    #32225826
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
Филипп
Да в принципе то события аля Java и многое чего другое и в PB сделать не долго - и без интерфейсов обойтись можно, другое дело, что для работы с такими событиями должны быть унаследованы все базовые компоненты PB и в них соотвествующе описаны листенеры. Я считаю, если не пользоваться PFC, то при построение собственной библиотеки базовых классов можно достичь большей гибкости и функциональности, придерживаясь Java философии построений классов. Однако чтобы накатать аналог PFC ... это времени не мало надо, хотя можно конечно многие решения прямо оттуда перетаскивать. Остается 2 вопроса - а надо ли это и насколько PFC считается современной и удовлетворяет всем потребностям разработчиков. Развивается ли она или же просто статична и перекатывается из версии в версию.
...
Рейтинг: 0 / 0
03.08.2003, 20:01
    #32225883
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
ASCRUS
Interfaces in PowerBuilder
http://www.romu.com/pb_info.html
...
Рейтинг: 0 / 0
04.08.2003, 11:15
    #32226145
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
Спасибо за ссылочку :) Пополнил библиотечку документации по PB :)
...
Рейтинг: 0 / 0
04.08.2003, 21:39
    #32226911
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delegation in PowerBuilder 9
ASCRUS , на вопрос, развивается ли PFC или же просто статична и перекатывается из версии в версию, можно ответить так.
По заявлениям работников Sybase и TeamSybase members, не развивается, а ТОЛЬКО баг-фиксится. (что не имеет принципиального значения, смотри мой ответ в ветке про PFC)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Delegation in PowerBuilder 9 / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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