powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Кому нибудь удалось втянуть окно (window) в .pbd ???
33 сообщений из 33, показаны все 2 страниц
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33674834
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток.

???

Tnx
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33674946
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне удавалось как-то :)

PS. А подробнее можно что требуется и в чем проблема?
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33675010
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаМне удавалось как-то :)
Да ну!? Не верю!
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33675493
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно рассмотреть альтернативный подход - иметь метаописание формы и создавать её из набора объектов в runtime, а в качестве скриптов на событиях использовать stored procedures. Получается весьма не дурно.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33675703
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркМожно рассмотреть альтернативный подход - иметь метаописание формы и создавать её из набора объектов в runtime, а в качестве скриптов на событиях использовать stored procedures. Получается весьма не дурно.
О, я смотрю люди уже отвечают, а я до сих пор вопроса не понял :)
Поясните мне кто-нибудь, что требуется.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33675870
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyПоясните мне кто-нибудь, что требуется.
Как я понял, :) требуется затянуть *.srw в *.pbd.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33676208
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если требуется это сделать в runtime, то в общем случае нельзя без рестарта приложения, хотя в некоторых частных случаях можно. Но по любому должны, помимо PB Runtime, присутствовать на компе с выполняющейся программой еще и все DLL от PB IDE необходимые для работы ORCA.
ссылка от том как вызвать ORCA из PB

Если же требуется при сборке в готовую PBD (например утеряны исходники) добавить или заменить объект, то это тоже в принципе возможно, тоже через ORCA.
нет ссылки :)
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677752
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея такая, была навеяна динамическим построением репортов.
например, релиз выпущен, клиенты довольны, а тут запрос:
- А не могли бы вы нам ешё такой репорт добавить.

Или скажем серьёзно изменить какой-нибудь репорт который уже in production, да ешё и не у каждого клиента.

Ну не выпускать же новый релиз ради етого, ну вот я и посторил механизм, строю им репорт, закачиваю его блобом в базу данных, а когда они его вызывают, первое что делает скрипт окна для репортов, это смотрит на флаг custom репорт али нет, если да через блоб тянет его синтакс и строит его на радость клиентам.

Но вот иногда, нужно окно со специальными параметрами, вот именно создание таких окон меня интересует.

Например, что-то типа, когда стартует аппликация, в open event, ударить базу данных с запросом:
- есть ли в тебе что-то такое, что мне надо?

и если есть, достать синтакс построить и сохранить в custom.pbd например.
Anatoly Moskovsky Локшин МаркМожно рассмотреть альтернативный подход - иметь метаописание формы и создавать её из набора объектов в runtime, а в качестве скриптов на событиях использовать stored procedures. Получается весьма не дурно.
О, я смотрю люди уже отвечают, а я до сих пор вопроса не понял :)
Поясните мне кто-нибудь, что требуется.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677768
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkНу не выпускать же новый релиз ради етого, ну вот я и посторил механизм, строю им репорт, закачиваю его блобом в базу данных, а когда они его вызывают, первое что делает скрипт окна для репортов, это смотрит на флаг custom репорт али нет, если да через блоб тянет его синтакс и строит его на радость клиентам.Есть почти дурная идея - хранить в блобе целиком pbd. Выкачиваешь pbd в какой-нибудь MyApp\Plugins каталог. И через AddToLibraryList() подгружаешь все pbd которые там найдуться.
В каждой pbd возможно нужна будет функция типа PbdName_Init() которая добавит содержащиеся в ней окна или ДВ в какой-нибудь глобальный список имен. Ну и пару-тройку других подобных функций или стандартных окошек. Менюшку например унаследованую от главного меню.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677781
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkИдея такая, была навеяна динамическим построением репортов.
например, релиз выпущен, клиенты довольны, а тут запрос:
- А не могли бы вы нам ешё такой репорт добавить.
А я построитель отчетов написал для PB. Отчет сохраняется в виде *.srd файлоа(ов) + информация об элементах управления отчетом и процедурах заполнения. Вся логика на хранимых процедурах.
В ближайшем проекте собираюсь вообще все отчеты только таким образом и делать.
Вот окно настройки отчетов:
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677783
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот так дизайнер формы отчета выглядит:
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677792
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо, обязательно попробую, прямо сейчас.

White Owl voronkНу не выпускать же новый релиз ради етого, ну вот я и посторил механизм, строю им репорт, закачиваю его блобом в базу данных, а когда они его вызывают, первое что делает скрипт окна для репортов, это смотрит на флаг custom репорт али нет, если да через блоб тянет его синтакс и строит его на радость клиентам.Есть почти дурная идея - хранить в блобе целиком pbd. Выкачиваешь pbd в какой-нибудь MyApp\Plugins каталог. И через AddToLibraryList() подгружаешь все pbd которые там найдуться.
В каждой pbd возможно нужна будет функция типа PbdName_Init() которая добавит содержащиеся в ней окна или ДВ в какой-нибудь глобальный список имен. Ну и пару-тройку других подобных функций или стандартных окошек. Менюшку например унаследованую от главного меню.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677807
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глямур ...
Тока нашим не пойдёт.
Как говоритса to advanced для наших юзеров.
У нас есть но попроще, называетса User Defined Reports, тоже базированный на процедурах, после того как удариш retrieve выскакивает парм с аргументами для репорта.
Вот:
Локшин МаркА вот так дизайнер формы отчета выглядит:
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677808
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkГлямур ...
Тока нашим не пойдёт.
Как говоритса to advanced для наших юзеров.
У нас есть но попроще, называетса User Defined Reports, тоже базированный на процедурах, после того как удариш retrieve выскакивает парм с аргументами для репорта.
Вот:
Локшин МаркА вот так дизайнер формы отчета выглядит:
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677810
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronk voronkГлямур ...
Тока нашим не пойдёт.
Как говоритса to advanced для наших юзеров.
У нас есть но попроще, называетса User Defined Reports, тоже базированный на процедурах, после того как удариш retrieve выскакивает парм с аргументами для репорта.
Вот:
Локшин МаркА вот так дизайнер формы отчета выглядит:
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677811
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677897
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытался выкачать при помощи:
FileOpen
FileRead ...

получил: HDR*PowerBuilder .... и усё.

Пойду-ка я до дому, завтра со свежей головы так сказать....


White Owl voronkНу не выпускать же новый релиз ради етого, ну вот я и посторил механизм, строю им репорт, закачиваю его блобом в базу данных, а когда они его вызывают, первое что делает скрипт окна для репортов, это смотрит на флаг custom репорт али нет, если да через блоб тянет его синтакс и строит его на радость клиентам.Есть почти дурная идея - хранить в блобе целиком pbd. Выкачиваешь pbd в какой-нибудь MyApp\Plugins каталог. И через AddToLibraryList() подгружаешь все pbd которые там найдуться.
В каждой pbd возможно нужна будет функция типа PbdName_Init() которая добавит содержащиеся в ней окна или ДВ в какой-нибудь глобальный список имен. Ну и пару-тройку других подобных функций или стандартных окошек. Менюшку например унаследованую от главного меню.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33677956
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkПытался выкачать при помощи:
FileOpen
FileRead ...

получил: HDR*PowerBuilder .... и усё.

небось fileMode забыл в StreamMode! поставить.

З.Ы. а зачем для ввода параметров window?
можно наверное dw обойтись?
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33678002
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей voronkПытался выкачать при помощи:
FileOpen
FileRead ...

получил: HDR*PowerBuilder .... и усё.

небось fileMode забыл в StreamMode! поставить.

З.Ы. а зачем для ввода параметров window?
можно наверное dw обойтись?
И вообще, неужели окно для "ввода параметров" нельзя generic написать, зачем его динамически в PBD втаскивать?
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33678284
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейЗ.Ы. а зачем для ввода параметров window?
можно наверное dw обойтись?
Смотря что нужно, а то одного вполне может не хватить...

А по поводу pbd'шек чем плохо - как их получать? Если компилировать сразу с приложением, то зачем они вообще нужны, а если потом через некоторое время - верный способ получить кучу глюков и вылетов приложения. Или нужно держать "замороженную" версию для каждого клиента чтобы с ней компилить, и то может нестабильно работать...
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33679181
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkТока нашим не пойдёт.
Как говоритса to advanced для наших юзеров.
А SQL запрос вашим пользователям тогда кто пишет?
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33680039
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
процедуры уже готовы, в левом окне глямурно выглядят как названия репортов.

Хотят новый репорт, я просто пишу процедуру, даю имя и они его/её видят как толЬко открывают окно.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33680091
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
usual suspects:
integer i_file_num, i_loops, i
long l_flen, l_bytes_read, l_new_pos
blob bl, bl_tot_bl
string s
string s_tot_bl, s_bl

l_flen = FileLength('c:\pbd\xyz.pbd')

i_file_num = FileOpen('c:\pbd\xyz.pbd', StreamMode!, Read!, LockRead!)

IF l_flen > 32765 THEN
IF Mod(l_flen, 32765) = 0 THEN
i_loops = l_flen/32765
ELSE
i_loops = (l_flen/32765) + 1
END IF
ELSE
i_loops = 1
END IF

l_new_pos = 1

FOR i = 1 to i_loops
// l_bytes_read = FileRead(i_file_num, bl)
// bl_tot_bl = gl_tot_bl + bl
l_bytes_read = FileRead(i_file_num, s_bl)
s_tot_bl = s_tot_bl + s_bl
NEXT

FileClose(i_file_num)

MessageBox('','')

/*
s_tot_bl =
HDR*PowerBuilderetTDAT*etText() DAT*mount` er_skey =0 ÿÿh will automatically be posted.+€L
€valuefu_changedect
*/

ЗоринАндрей voronkПытался выкачать при помощи:
FileOpen
FileRead ...

получил: HDR*PowerBuilder .... и усё.

небось fileMode забыл в StreamMode! поставить.

З.Ы. а зачем для ввода параметров window?
можно наверное dw обойтись?
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33680463
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to voronk
В курсе про null terminated strings? Как нашелся первый 0 в файле - строка и закончилась.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33680531
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ха ... жалко нету смайлика который хлопает в ладоши.
Спасибо комрад.
Сейчас попробуем.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33680584
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkХа ... жалко нету смайлика который хлопает в ладоши.
Спасибо комрад.
Сейчас попробуем.

ну зачем же ж блоб то было в строку загонять?
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33680628
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если честно, хотелось просто посмотреть, поэтому когда увидел гарбич, почесал затылок и пошёл домой.

Ну да ладно.

После того как я записал етот блоб, решил я его записать обратно в файл и сохранить.

Получилась борода, записанный файл меньше оригинала и ессественно не работает, плиз скажите чё не так:

"c:\xyz.pbd" - просто пустой файл, открыл пустой notepad и сохранил как .pbd

i_file_num = FileOpen("c:\xyz.pbd", StreamMode!, Write!, LockWrite!, Replace!)
l_new_pos = 1

Do While FileWrite( i_file_num, BlobMid(bl_tot_bl, l_new_pos, 32765)) > 0
l_new_pos += 32765
Loop

FileClose(i_file_num)
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33683885
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну неужели никто не знает ...
voronkЕсли честно, хотелось просто посмотреть, поэтому когда увидел гарбич, почесал затылок и пошёл домой.

Ну да ладно.

После того как я записал етот блоб, решил я его записать обратно в файл и сохранить.

Получилась борода, записанный файл меньше оригинала и ессественно не работает, плиз скажите чё не так:

"c:\xyz.pbd" - просто пустой файл, открыл пустой notepad и сохранил как .pbd

i_file_num = FileOpen("c:\xyz.pbd", StreamMode!, Write!, LockWrite!, Replace!)
l_new_pos = 1

Do While FileWrite( i_file_num, BlobMid(bl_tot_bl, l_new_pos, 32765)) > 0
l_new_pos += 32765
Loop

FileClose(i_file_num)
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33685030
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkну неужели никто не знает ...
Приведите полный скрипт.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33687199
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
integer i_file_num, i_loops, i
long l_flen, l_bytes_read, l_new_pos
blob bl, bl_tot_bl
string s
string s_tot_bl, s_bl

// Взяли файл ...
l_flen = FileLength('c:\test\xyz.pbd')
//MessageBox('', string(l_flen))

// Прочитали в блоб ...
i_file_num = FileOpen('c:\test\xyz.pbd', StreamMode!, Read!, LockRead!)

IF l_flen > 32765 THEN
IF Mod(l_flen, 32765) = 0 THEN
i_loops = l_flen/32765
ELSE
i_loops = (l_flen/32765) + 1
END IF
ELSE
i_loops = 1
END IF

l_new_pos = 1

FOR i = 1 to i_loops
l_bytes_read = FileRead(i_file_num, bl)
bl_tot_bl = bl_tot_bl + bl
NEXT

FileClose(i_file_num)


// Потом, я открыл notepad, сохранил его (пустой) как 'c:\xyz.pbd' и попытался записать в него этот самый локальный блоб bl_tot_bl

i_file_num = FileOpen('c:\test\xyz.pbd', StreamMode!, Write!, LockWrite!, Replace!)

l_new_pos = 1

Do While FileWrite( i_file_num, BlobMid(bl_tot_bl, l_new_pos, 32765)) > 0
l_new_pos += 32765
Loop

FileClose(i_file_num)

// Но в результате размер получился меньше, ну и явно, что-то не так.

Где прокол, подскажите пожалуйста.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33687205
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс, когда делал cut/paste, где блоб записываетса обратно в файл, я в сообщении ошибся, надо:
i_file_num = FileOpen('c:\test\xyz.pbd', StreamMode!, Write!, LockWrite!, Replace!), в скрипте Ок.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33687412
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Звиняйте комрады.
Разобрался, всё работает.

Читаем .pbd в блоб
отправляем блоб в базу данных.
вызываем блоб из базы данных.
удаляем xyz.pbd
по новому записываем блоб в xyz.pbd
пользуем AddToLibraryList()

Усё фурычит.
Детальки уже отполируем.
...
Рейтинг: 0 / 0
Кому нибудь удалось втянуть окно (window) в .pbd ???
    #33733826
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Зачем ПБД-шки в AddToLibraryList? SRD нельзя? Если речь идёт только об отчётах.
2. А вот хранение в БД окошек с формами master-detail? Возможно и пригодится.
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Кому нибудь удалось втянуть окно (window) в .pbd ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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