Документация о языке Powerbuilder

Где я могу найти документацию для фактического языка PowerBuilder. Я обращаюсь к виду кода, который Вы получаете при выборе "Источника Редактирования" из контекстного меню на живописце библиотеки. Не вид кода Вы обычно пишете.

5
задан YWE 8 January 2010 в 01:16
поделиться

2 ответа

Нет официальной документации на языке синтаксиса PowerBuilder, который вы видите, когда вы делаете редактирование источника. Большинство, которые работают с ним только что должны были использовать проб и ошибку, чтобы понять его. Раньше в новостях было задано в новостях о синтаксическом файле, поэтому для него можно построить анализ, но никогда не предусмотрено. Вот это сообщение, говорящее об этом

, я полагаю, что следующая версия PowerBuilder будет уходить от этого синтаксиса до более формата на основе XML (и перемещение из PBL в качестве двоичных файлов в текстовый формат).

2
ответ дан 14 December 2019 в 04:39
поделиться

Шаг 1
Обычно следует по мере возможности придерживаться «нормальных» типов: т. е. Последовательность и Char
Таким образом, код будет «автоматически» преобразован при обновлении.
ПРИМЕЧАНИЕ : Существует несколько специфических для приложения исключений.

Если вы этого не сделаете, вы, вероятно, столкнетесь с проблемой, возникшей у меня при обновлении библиотеки кода, в которой в некоторых местах использовался AnsiString. Это не было проблемой в старых Delphi, когда AnsiString = последовательность. Но очевидно это было проблематично, когда типы уже не были одинаковыми.

Шаг 2
Ознакомьтесь с инструкциями по переходу на Unicode Delphi 2009. В нем упоминаются функции, которые обычно используются при работе со последовательностями, поскольку предполагается, что каждый символ равен 1 байту. Принять к сведению эти положения и кодекс в соответствии с этими рекомендациями.

Шаги 3, 4 и 5
Избегайте использования условной компиляции. У тебя будет только больше головных болей.

Шаги 6, 7, 8, 9 и 10
Не пытайтесь повторно угадать компилятор путем переопределения его внутренних типов. Ты подвергаешь себя многим головным болям. Дело в том, что VCL, библиотеки времени выполнения и компоненты сторонних производителей имеют «понимание» того, что такое Последовательность . «Новое понимание» все еще будет использоваться при обновлении до Delphi 2009.

Если вы измените это определение, то все еще может работать в старой версии из-за неявной совместимости; однако это, вероятно, сломается ужасно, когда в Delphi 2009 вещи внезапно меняются.

Запомните! Тип используемой последовательности является важным фактором при вызове Windows API. Как правило, Windows поддерживает версии большинства функций Ansi и Wide. В старых Delphi версии Ansi используются по умолчанию; а из Delphi 2009 по умолчанию используются версии Wide.

Примечания
Относительно ваших опасений по поводу WeyString в разработке COM:
Более старые версии Delphi обеспечивают автоматический набор текста между String и WireString, что позволяет компилятору работать там, где он может. Очевидно, что ваши COM-интерфейсы должны быть объявлены с помощью WireString, но старайтесь избегать чего-либо сверх этого.

EDIT
Посмотрите на ссылку, предоставленную Хьюзом: Готовьтесь к Delphi 2009 и при разработке с Delphi 7?

Также, чтобы подчеркнуть: каждая новая версия Delphi пытается поддерживать некоторый уровень обратной совместимости (Delphi 2009 включен). Если вы просто закодируете «нормально», вы вряд ли окажетесь под большим влиянием . На самом деле обратное, как правило, верно; чем больше фантазии вы получаете, тем больше вероятность того, что вы столкнетесь с проблемами.

Единственные серьезные проблемы, которые у меня когда-либо возникали в перемещение с новыми версиями Delphi:

  • сторонний код/библиотеки без исходного кода.
  • Неподдержанный сторонний код, где их разработчики прибегали к различным «трюкам» кодирования.
  • Код Midas в Delphi 3 был особенно трудной модернизацией. (Но и там разработчики в обход рекомендованных методик были большим виновником.)
-121--4780365-
# Comment in the beginning of the file

По крайней мере, это делают встроенные модули Python. (выясняется при помощи grep 'Copyright '/usr/lib64/python2.4/* .py )

-121--1455194-

PowerScript (язык, используемый в PowerBuilder) был расширен в PB12, но должен быть совместим с предыдущими версиями. Синтаксис PowerScript находится в грамматике ANTLR, поэтому создание документации из него должно быть достаточно простым. Если это было сделано, я не уверен, но я упомяну это для сотрудников компилятора (на данный момент команда разработчиков очень занята завершающими фазами PB12).

5
ответ дан 14 December 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: