powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Общий класс datawindow и datastore?
18 сообщений из 18, страница 1 из 1
Общий класс datawindow и datastore?
    #35513342
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.Ситуация следующая:
Сделал фунцию в PB, в качестве параметра передаю в нее ссылку на datawindow. Возвращаю строку из функции. В фунции пользую метод rowcount() и беру данные через dw.object...
И тут надо стало что бы функция еще обрабатывала не datawindiw а datastore. Если меняю тип входного параметра функции на powerobject то перестают работать метод rowcount() и dw.object...
Очень не хочется делать несколько функций с одинаковым скриптом, но с разным типом входного параметра,так как функций написал таких уже много.
Подскажите какие варианты есть?
2. Есть идея, создать в памяти окно(visible=false), на нем datawindow и работать с ним, подскажите скрипт для создания этих объектов?
спасибо.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35513422
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вставить перед вызовом функции dynamic, то будет работать, но несколько медленней.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35513429
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и, естейственно, ослабнет контроль типов.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35513716
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через dw.object к значению конкретного поля лучше не обращаться - медленней работает чем через setitem/getitem....
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35514135
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял, то входной параметр функции надо установить как Any, а в скрипте уже выбирать через TypeOf какой тип входил. Ну и т.д.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35514504
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISЕсли я правильно понял, то входной параметр функции надо установить как Any, а в скрипте уже выбирать через TypeOf какой тип входил. Ну и т.д.
Такой подход приведет к тому, что два раза по сути один и тот же код придется копировать.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35514795
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк AISЕсли я правильно понял, то входной параметр функции надо установить как Any, а в скрипте уже выбирать через TypeOf какой тип входил. Ну и т.д.
Такой подход приведет к тому, что два раза по сути один и тот же код придется копировать.
А помоему, это традиционное решение такого вопроса как п.1. Возможно и придется что-то копировать, но это будет одна функция и с универсальным входным параметром. Лучше иметь одну такую функцию, чем две с одинаковыми скриптами.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35514816
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я применяю следующий подход.
Создаю несколько функций с разными типами аргументов, но одинаковыми именами этих аргументов.
Тело функции просто копирую. В начале текста функции есть комментарий который перечисляет все функции и напоминает что после модификации необходимо скопировать весь текст в другие ф-и.
В скрипте сборке приложения тексты функций экспортируются и сравниваются. При различиях сборка не запускается.

Это дает максимально быстрый код с контролем типов и низкими затратами на сопровождение кода.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35515388
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаЯ применяю следующий подход.
...
Это дает максимально быстрый код с контролем типов и низкими затратами на сопровождение кода.
В PB12 этот вопрос судя по Вашей информации наконец то обещают решить :)
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35518873
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISЕсли я правильно понял, то входной параметр функции надо установить как Any, а в скрипте уже выбирать через TypeOf какой тип входил. Ну и т.д.
Даже если и делать так, так параметр естественно должен быть НЕ Any, а PowerObject.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35520148
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тоже же сделал функции с одинаковыми скриптами и именами аргументов. Но с разными типами аргументов.
ват только не понял:
18-я веснаЯ применяю следующий подход.
В скрипте сборке приложения тексты функций экспортируются и сравниваются. При различиях сборка не запускается.
кода.
Как заставить PB сравнивать функции и блокировать сборку?
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35520304
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zКак заставить PB сравнивать функции и блокировать сборку?
PB - никак, а скриптом - можно :)
Берете PblDump - экспортируете нужный объект, а потом натравливаете на него Perl и регулярными выражениями вырезаете нужные методы и сравниваете.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35520357
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PblDump экспортирует в собственном формате или в формате power builder?Если PB то какой версии?
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35520485
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan_zPblDump экспортирует в собственном формате или в формате power builder?Если PB то какой версии?
В PB формате. Поддерживаются все версии.

Прикладываю пример скрипта.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35520853
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35521590
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп AISЕсли я правильно понял, то входной параметр функции надо установить как Any, а в скрипте уже выбирать через TypeOf какой тип входил. Ну и т.д.
Даже если и делать так, так параметр естественно должен быть НЕ Any, а PowerObject.
Разве PowerObject не входит в понятие Any?
Цитата:
PowerBuilder also supports the Any datatype, which can hold any kind of value, including standard datatypes, objects, structures, and arrays.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35521996
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS ФилиппДаже если и делать так, так параметр естественно должен быть НЕ Any, а PowerObject.
Разве PowerObject не входит в понятие Any?

Филипп имел в виду другое.
Следует использовать тип, максимально близкий в иерархии типов, чтобы максимально перенести на компилятор функции контроля типов.
...
Рейтинг: 0 / 0
Общий класс datawindow и datastore?
    #35524004
vovan_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с Анатолием
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Общий класс datawindow и datastore?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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