Миграция с Powerbuilder 6.5 на 10.5 - PullRequest
1 голос
/ 26 июня 2010

У нас есть приложение, построенное с использованием PFC. Я сталкиваюсь со странной проблемой. Когда я определяю рабочее пространство и открываю только библиотеки PFC, я могу выполнить миграцию и выполнить полную сборку. Однако, когда я включаю это в свою библиотеку приложений, она не будет собираться и выдает сообщение об ошибке C0001: Недопустимый тип данных s_printsetupattrib.

Эта ошибка возникает везде, где она используется.

Гугл не дал ответов. Я попытался восстановить s_printsetupattrib в pfcapsrv.pbl, и он восстанавливает нормально. Следующим шагом, который я попытался, было восстановить pfc_n_cst_platform (pfcapsrv.pbl) и другие подобные объекты, но они не восстанавливаются и выдают эту ошибку.

Есть ли что-нибудь в последовательности, в которой pbl должен быть указан в списке библиотек миграции приложений?

Буду признателен за любую помощь в этом вопросе.

С уважением, Ndesai.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2010

Я заметил, что этот вопрос датирован, но добавляю свои 2цента, так как вы на самом деле не получили ответа.

Если вы используете объект проекта и оттуда выполняете сборку "deploy" и указывается "full build", то PB автоматически компилирует вещи в правильном порядке, нет необходимости размещать вещи в порядке, если у вас нет дублирующих имен объектов что не самая лучшая идея. Думаю, я бы порекомендовал проверить, чтобы убедиться, что в ваших PBL также нет повторяющихся объектов.

Если вы все еще сталкиваетесь с проблемами, у меня были проблемы, из-за которых PB-компилятор запутывался, например, самоссылающиеся ситуации или другие сложные ситуации, и это PITA, в большинстве случаев это что-то плохо спроектированное, так что постарайтесь понять, что происходит и изменяет код, не то, что вы хотите услышать, но что-то происходит.

Или ... в качестве другого обходного пути у нас был код ошибки, который не компилируется должным образом, и когда он терпит неудачу, вы находите объект, который не будет компилироваться (в вашем случае тот, который ссылается на структуру), и открываете его с помощью file -> open source, найдите код, ссылающийся на структуру, и, если возможно, закомментируйте его и попробуйте перекомпилировать. После того, как все скомпилируется, откройте закомментированный вручную объект и скомпилируйте.

То, что вы описываете, не является чем-то необычным, иногда вам нужно проявить творческий подход, особенно при использовании устаревшего PFC.

С уважением, Рич

0 голосов
/ 27 июня 2010

Если вы можете перенести PFC без ошибок, это не 6.5 PFC.Я перешел с 6,5 на 9,0, но у меня больше нет заметок.Настройка принтера - это одна из вещей, добавленных Sybase в версии 8 или 9. Более старая версия PFC использовала пользовательскую DLL и структуру для отображения диалогового окна системного принтера, но более новые версии PB имеют встроенный вызов, поэтому PFC вызывает его.Более новые версии PFC используют объекты вместо структур для передачи значений.Это еще один способ, которым я знаю, что вы не используете старый PFC.Однако ваше приложение 6.5 написано для старого PFC.

Я рекомендую вам получить последнюю сборку PFC для 10.5 от Codeplex.Я думаю, что помощь в этом пакете, если не пингуешь меня, и я найду тебе ссылку.Посмотрите на новый способ вызова настройки печати в PFC и измените свой код соответствующим образом.Есть некоторые ошибки, не связанные с PFC, на которые стоит обратить внимание.Просмотрите архив изменений Терри PowerBuilder от Терри, чтобы увидеть, что может вас укусить.Вдобавок ко всему, я думаю, что есть изменения поведения для масок редактирования, представлений дерева и событий DataWindow (в порядке их возникновения).

...