|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Поставил PB8, поиграться, покрутить. Честно говоря, не понял, с какой стороны к нему подступиться. Есть некий workspace (я так понял, это аналог project'а), в котором находится куча непонятно чего. Простите за глупый вопрос, а как вообще писать приложение? С чего начать? Хотя бы примитив, навроде окна приложения, в котором вывести таблицу БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2004, 01:14 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
1. Для начала создайте workspace и подключите (add target ) с примерами которые идут с PowerBuilder. Они должны быть в папке куда вы установили PowerBuilder. 2. создать new target создать новое окно (w_1) и событие open for application write code Open(w_1). Для Работы с таблицей необходимо подключиться к источнику данных (настроить ODBC) , в PowerBuilder настроить профиль. Создать datawindow object. На окно поставить datawindow control и для его свойства dataobject выбрать созданный datawindow object. И к примеру в событие Constructor datawindow control (dw_1) write code This.SetTRansObject(sqlca) This.Retrieve() ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2004, 02:50 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Сходи сюда: http://www.sybasedevel.ru/ Там есть пару статей. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2004, 12:05 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Сходи вот сюда: http://]ikarhomecenter.narod.ru - лекции по PB для начинающих. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2004, 18:56 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Спасибо за помощь, почитал, попробовал. Не особенно мне понравилось, честно говоря. И я так и не понял - он позволяет создавать готовые экзюки или нет? Я нашел только в InfoMaker'е фишку, которая сделала exe-файл, но какой-то странный: вылезает форма, которая запрашивает какое из окон библиотеки открыть. Как-то это неправильно ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2004, 11:47 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
авторСпасибо за помощь, почитал, попробовал. Не особенно мне понравилось, честно говоря. Угу - и не должно было понравиться с первого раза :) Чтобы понравилось надо вьехать в методологии проектирования приложений на PB, можно даже сказать изменить свои взгляды на привычные вещи. В этом плане Access-никам мне кажется даже легче будет понять PB, чем специалистам, работающих на Delphi или C. авторИ я так и не понял - он позволяет создавать готовые экзюки или нет? Конечно позволяет. А InfoMaker - это просто утилита для конечного пользователя, которая позволяет на ходу быстро лепить какие то несложные формочки ввода и отчеты без необходимости кодирования. Совет: Если знаете Access, то воспринимайте PB ближе к нему, чем другим средствам разработки. DataWindow - это описание набора данных и его визуальное представление. Начните изучение с него, научитесь получать данные, создавать их различное визуальное отображение, сортировку, группировку и фильтр, поэкспериментируйте с Expression на свойства контролов DataWindow. Оставьте на потом формы, контролсы и PowerScript, они служат только для описания работы интерфейса приложения, вся бизнес-логика сосредотачивается в DataWindow. В общем учите PB как платформу для построения клиентских приложений, а не как язык программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2004, 12:31 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Не известно какая версия PB у вас. У меня 9.0.1 Надеюсь что у техническим английским вы владеете. Если так, то воспользуейтесь поставляемым с PB докуменнтом, который так и называется "Getting Started". Для этого: - Вызываем Help - Выбираем Contents - Выбираем пункт Getting Started - Кликаем на иконку Acrobat Reader'a Собственно и все. Теперь у вас этот документ должен быть уже открыт. Дальше выполняем уроки, которые там есть. Кроме этого рекомендую выложить на Desctop вашего ПК "PowerBuilder User’s Guide" in HTML format. Потому как кроме него, в этом файле есть: - "Application Techniques" - На первых порах смотрел часто. - "DataWindow Programmer's Guide" - выкачайте в PDF и распечатайте - "Connecting To Your Database" - поначалу тоже смотрел - "Working with WEB and JSP Targets" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2004, 13:02 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
mustliveИ я так и не понял - он позволяет создавать готовые экзюки или нет? Standalone файл создать не получится. Исполняемые файлы представляют собой только запускалку интерперетатора, поэтому понадобятся библиотеки времени исполнения (runtime по-русски :-). Относительно всего прочего - ASCRUS и Ermak все уже рассказали :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2004, 13:51 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
автор В этом плане Access-никам мне кажется даже легче будет понять PB, чем специалистам, работающих на Delphi или C. В общем-то, согласен с этим утверждением. С Access'ом я правда не работал, ибо на большие задачи он явно не рассчитан. Зато поработал в свое время с Paradox (воспоминания остались не из приятных. paradox в том, что он вообще работает :), и PB мне напомнил как раз его. В части некоторой бардаковости написания программы, т.е. например можно встретить вызов функции и потом дооолго искать ее тело по коду программы. автор DataWindow - это описание набора данных и его визуальное представление. Начните изучение с него, Одной из причин, по которой я взялся за PB, является мой достаточно большой опыт разработки DataWindow. У Sybase (точнее, в то время у фирмы Powersoft, которую купил Sybase) в свое время был такой продукт: DataWindow Builder. Выглядит он примерно как InfoMaker, в нем можно создавать DataWindow'ы для ввода и отображения информации в виде репортов. Куча пропертей, видов отчетов (FreeForm, Grid, Composite) и т.д. Результатом является файл pbl (или pbd), который затем через ActiveX компонент для C++ встраивается в программу, имеет кучу event'ов (selectedrow, retrieve и т.п.) и соответственно интерфейс для их обработки, извлечения данных, внесения данных и само собой для сохранения инфы в базу. Родным для него является ASA. Но посколько компонент довольно старый (1997 год), хочется чего-нибудь посвежее. DataWindow'ы от DataWindow Builder прекрасно импортируются в PB автор Standalone файл создать не получится. Исполняемые файлы представляют собой только запускалку интерперетатора, поэтому понадобятся библиотеки времени исполнения (runtime по-русски :-). Я чего-то не догоняю. Короче говоря, можно ли сделать EXE-файл, в тот же каталог положить нужные DLL и все это будет работать без установки PB? Да или Нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 11:09 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
mustliveЯ чего-то не догоняю. Короче говоря, можно ли сделать EXE-файл, в тот же каталог положить нужные DLL и все это будет работать без установки PB? Да или Нет? Да, smotri v helpe Deploying your application ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 11:20 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
авторЯ чего-то не догоняю. Короче говоря, можно ли сделать EXE-файл, в тот же каталог положить нужные DLL и все это будет работать без установки PB? Да или Нет? Да. К своему EXE + *.PBD кладёте PB runtime DLLs ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 11:46 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
авторЗато поработал в свое время с Paradox (воспоминания остались не из приятных. paradox в том, что он вообще работает :), и PB мне напомнил как раз его. А мне было легко, я как раз с Paradox на PB перешел. авторВ части некоторой бардаковости написания программы, т.е. например можно встретить вызов функции и потом дооолго искать ее тело по коду программы. Можно. Я например иногда для этих целей использую как это не странно pbl_dump Код: 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.
Смотрит как миленький форматы библиотек 8 и 9 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 11:54 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
авторpbl_dump - просмотрщик библиотек PowerBuilder версия 1.0.3 (C) это не последняя версия, см. http://sqlbatch.com/pd/ автор- работа с форматами библиотек PowerBuilder 6 и 7 Смотрит как миленький форматы библиотек 8 и 9 с PBL из PB10 точно не работает :)) поэтому скоро будет новая версия pbldump и powerbatch соответственно а насчет поиска - я делаю так (FAR+pbldump): в FAR, зайти в каталог с PBL, запустить поиск файлов, включить "искать в архивах", указать маску *.sr?, указать искомую строку ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 13:26 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Вот и автор. Большое Вам спасибо. Я тоже пользуюсь pbl_dump'ом в cвязке с Far. Когда появится новая версия, то пожалуста, сообщите об этом здесь, в этом форуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 13:45 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
mustliveв свое время был такой продукт: DataWindow BuilderРазве он распространялся отдельно, а не входил в состав Optima? mustliveРезультатом является файл pbl (или pbd), который затем через ActiveX компонент для C++ встраивается в программу, имеет кучу event'ов (selectedrow, retrieve и т.п.) и соответственно интерфейс для их обработки, извлечения данных, внесения данных и само собой для сохранения инфы в базуТак вот этот ActiveX тоже требует виртуальной машины, разве нет? Вообще-то, судя по описанию Вашего опыта работы, я бы рекомендовал Вам оставаться на C++, а свежий DataWindow ActiveX, вероятно, можно попросить, например, в этом форуме :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 14:08 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
автор Разве он распространялся отдельно, а не входил в состав Optima? Входил, входил :) Просто про Optima мало кто вообще знает и слышал, я уж не стал на этом моменте акцентировать внимание автор Так вот этот ActiveX тоже требует виртуальной машины, разве нет? Вообще-то, судя по описанию Вашего опыта работы, я бы рекомендовал Вам оставаться на C++, а свежий DataWindow ActiveX, вероятно, можно попросить, например, в этом форуме :-) Никакой виртуальной машины не требуется. Регистрируешь его в винде через regsrv, dll'и нужные устанавливаешь, и все работает Свежего DataWindow нема, насколько я знаю. Optima со всеми своими компонентами была объявлена end-of-life product'ом, и все на этом закончилось. Остался единый могучий PowerBuilder ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 14:32 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
авторРегистрируешь его в винде через regsrv, dll'и нужные устанавливаешь, и все работаетНу вот это оно и есть :-) PBV(irtual)M(achine)XX.dll В поставку PB входит DataWindow.WebControl (psdwcxXX.dll) - с полным набором свойст и методов DW. Попробуйте, может быть Вам подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 15:02 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
У PB в составе есть ActiveX компонент, для новой 10-ой версии так же есть DataWindow.NET (аналог ActiveX, только уже для использования в среде .Net FrameWork). Хотя мне например легче все в PB катать, чем обвязывать ActiveX на другом инструменте, в PowerScript есть забавные возможности, которые позволяют кодировать интерфейс с меньшим кол-вом кода, чем на том же C++ или Delphi (event-ы, post-вызовы, Embedded SQL, наследование обьектов внутри родителя, и т.д.). Главное не начинать изучение PB с попыток реализовать на нем все, что явно с первого взгляда не хватает. Лучше разобраться с тем, что есть и понять концепции. Дальше естественно все равно всплывет, что чего то не хватает. И тут уже можно будет решить - выучить и воспользоваться PFC, взять чьи то наработки или же сделать свои. Я например удовольствовался тем, что докатал в PB кое какие полезные функции, класс поддержки коллекций, именованных параметров, расширил функциональность DataWindow-контрола и DataStore-обьекта в сторону поддержки особенностей ASA и своего стиля проектирования приложения, малость расширил функциональность Transaction-обьекта, дописав в него автоматический реконнект сессии, если был обрыв, сделал прототип главного и дочернего окон, накатал собственное окно визарда, позволяющее быстро строить мастера ввода и изменения информации и сделал компонент запроса параметров поиска и фильтрации информации, который базируется на собственном движке построения запросов по бизнес-фильтрам, реализованным на ASA. Этого вполне хватило на обеспечение нормальной централизованной функциональности проектов, уже далее на основе стандартных и расширенных мной решений я спокойно смог внутри проекта расширять иерархию в нужную сторону и концетрируясь только на бизнес-логике приложения реализовать довольно удобный интерфейс без особых затрат на кодирование и отладку. Могу кстати привести скриншоты, в принципе думаю выглядит вполне нормально по сравнению с другими языками ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 15:05 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
И скриншот одного из визардов - картинка правда на нем от Access, все никак не дойдут руки чего нибудь путевое нарисовать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 15:09 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
автор Ну вот это оно и есть :-) PBV(irtual)M(achine)XX.dll В поставку PB входит DataWindow.WebControl (psdwcxXX.dll) - с полным набором свойст и методов DW. Попробуйте, может быть Вам подойдет. А вот и нет - P(ower)S(oft)D(ata)W(indow)E(nterprise edition).OCX :) Какой-то контрол я пытался прикрутить (назывался он по-моему PowerSoft DataWindow Runtime), но он убогий - все эвенты и прочее придется руками описывать, неудобно и долго. Уж лучше время на изучение PowerBuilder'а потратить. Или плюнуть на все, и уйти в отпуск отдыхать от всего этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 15:24 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
[quot] У PB в составе есть ActiveX компонент [\quot] А как он называется (сам dll, ocx или что там)? Попробовал установить DataWindow Web control, не хочет он что-то работать, программа виснет при запуске. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2004, 22:50 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
А не расскажет ли уважаемый ASCRUS , хотя бы в общих чертах, про принципы постороения своих визардовых диалогов - каждая страница визарда - это отдельный userobject или еще как? Как управлять последовательностью страниц визарда и т.д. Хотя бы намекните. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2004, 11:12 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Можно при помощи tab-контрола страницы Wizard'а делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2004, 13:47 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
Есть базовая форма, на ней лежит Tab с одной вкладочкой, на которую автоматом при запуске визарда грузиться описание мастера из БД (ну и галочка для выключения этой странички по желанию пользователя - как в визардах Sybase Central). Так же есть кнопки управления ходом визарда и целая куча логики - от приема и обработки параметров окну, таких как режим работы (добавление, изменение или удаление информации), стартовая страница визарда, параметры для потомков, плюс туча функций управления ходом работ (инициализация страниц визарда, уведомления о смене режима работ, запросы на подтверждения достоверности данных, запросы на сохранение данных и т.д.). В общем вся целостная логика самого визарда реализована полностью - он полностью отвечает за ход работ и организовывает все необходимые уведомления и оповещения для своих потомков как в пределах событий формы, так и событий пользовательских вкладок. Далее чтобы быстро слепить мастер нам достаточно наследоваться от формы визарда, в Tab понаделать сколько надо вкладок или вставить UserObject-ы (если страничка используется в нескольких визардах одновременно). Никаких особых требований к страничкам вкладок нет - если вкладка хочет участвовать в ходе работ визарда, то ей просто достаточно подписаться на определенные события, вот их список: Код: 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.
P.S. Конечно на том же Delphi я все реализовал немного по другому - существовал предок для страничек визарда, но в принципе разницы большой в этом нет - там бы я делал OVERRIDE базовых методов странички, здесь же визард просто динамически вызывает событие у вкладки, которая просто должна его иметь. Мне честно говоря даже модель визарда в PB больше нравиться, чем ту, которую я делал на Delphi, хотя конечно тут опять же свою роль играет DataWindow :) P.S. В принципе данный визард вполне универсальный и самодостаточный (PBL с системными функциями и PBL с самим визардом), в БД ему нужно создать 3 таблички и одну ХП, через которую он вписывает пользовательские настройки. Эти обьекты элементарно переносятся на любую СУБД, так что подключить визард к любому проекту не представляет никакой сложности. Если кому то будет нужно, то я всегда могу выложить ссылку для его скачки в FAQ. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2004, 14:01 |
|
Концепция разработки приложений в PB
|
|||
---|---|---|---|
#18+
2 ASCRUS Не ради флейма, мне действительно интересно. С чем связано стремление получать результаты работы событий через параметры, передаваемые по ссылке? В этом заложен какой-то глубокий архитектурный смысл, это принятый корпоративный стандарт или что-то еще? Заранее спасибо :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2004, 14:32 |
|
|
start [/forum/topic.php?fid=15&msg=32561256&tid=1336449]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 174ms |
0 / 0 |