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

P.S. Мне лично не вериться, что в 9 это сделали - это была бы целая революция с полной переработкой всех классов PB и PFC. Ну или как и с Exception - сделали только для поддержки серверов и в базовых классах нигде не задействовали.
...
Рейтинг: 0 / 0
Delegation in PowerBuilder 9
    #32225314
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что говорит 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
Delegation in PowerBuilder 9
    #32225399
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хе хе - это делегирование работает в любой версии PB - пишем вызовы соотвествующих функций и событий сервиса из под родительского обьекта ручками из под соотвествующих событий и все работает. Но это вообще то не делегирование событий. Другое дело, если бы я мог написать сервис, который сам бы мог подписываться на нужные события DataWindow и реагировать на них автопилотом, тогда другое дело. Кстати тогда бы отпала необходимость в u_dw, так как можно было на любую форму где лежит самый обыкновенный DataWindow прямо понакидать нужных сервисов и указать им, с какими DataWindow они работают, таким образом расширив функциональность нужным образом, не прибегая к наследованию DataWindow и ручному писанию кода. Ну да ладно - в принципе их способ тоже не плох, просто концепция другая, да кода чуть больше получается.
...
Рейтинг: 0 / 0
Delegation in PowerBuilder 9
    #32225444
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS , то о чём ты говоришь, к delegation никакого отношения не имеет. Для этого нужны interfaces a-la Java и listeners.
Ни того, ни другого в РВ9 нет, может в 10-м будет...
...
Рейтинг: 0 / 0
Delegation in PowerBuilder 9
    #32225450
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS , я кажется понял, откуда ноги вопроса растут - из С#повского delegates.
Powerscript не поддерживает function pointers и callbacks, в том чисде и в РВ9, поэтому и delegates а-ля С# там нет.
...
Рейтинг: 0 / 0
Delegation in PowerBuilder 9
    #32225826
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп
Да в принципе то события аля Java и многое чего другое и в PB сделать не долго - и без интерфейсов обойтись можно, другое дело, что для работы с такими событиями должны быть унаследованы все базовые компоненты PB и в них соотвествующе описаны листенеры. Я считаю, если не пользоваться PFC, то при построение собственной библиотеки базовых классов можно достичь большей гибкости и функциональности, придерживаясь Java философии построений классов. Однако чтобы накатать аналог PFC ... это времени не мало надо, хотя можно конечно многие решения прямо оттуда перетаскивать. Остается 2 вопроса - а надо ли это и насколько PFC считается современной и удовлетворяет всем потребностям разработчиков. Развивается ли она или же просто статична и перекатывается из версии в версию.
...
Рейтинг: 0 / 0
Delegation in PowerBuilder 9
    #32225883
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS
Interfaces in PowerBuilder
http://www.romu.com/pb_info.html
...
Рейтинг: 0 / 0
Delegation in PowerBuilder 9
    #32226145
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылочку :) Пополнил библиотечку документации по PB :)
...
Рейтинг: 0 / 0
Delegation in PowerBuilder 9
    #32226911
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS , на вопрос, развивается ли PFC или же просто статична и перекатывается из версии в версию, можно ответить так.
По заявлениям работников Sybase и TeamSybase members, не развивается, а ТОЛЬКО баг-фиксится. (что не имеет принципиального значения, смотри мой ответ в ветке про PFC)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Delegation in PowerBuilder 9
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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