Миграция с Powerbuilder 6.5 на 10.5
У нас есть приложение, построенное с использованием PFC. Я сталкиваюсь со странной проблемой. Когда я определяю рабочее пространство и открываю только библиотеки PFC, я могу выполнить миграцию и выполнить полную сборку. Тем не менее, когда я включаю это в свою библиотеку приложений, она не будет собираться и выдает сообщение об ошибке C0001: Недопустимый тип данных s_printsetupattrib.
Эта ошибка возникает везде, где она используется.
Поиск в Google не дал никаких ответов. Я попытался восстановить s_printsetupattrib в pfcapsrv.pbl, и он восстанавливает нормально. Следующим шагом, который я попытался, было восстановить pfc_n_cst_platform (pfcapsrv.pbl) и другие подобные объекты, но они не восстанавливаются и выдают эту ошибку.
Есть ли что-нибудь в последовательности, в которой pbl должен быть указан в списке библиотек миграции приложений?
Я буду признателен за любую помощь в этом вопросе.
С уважением, Ndesai.
2 ответа
Я заметил, что этот вопрос устарел, но добавляю мои 2цента, так как вы не получили ответа.
Если вы используете объект проекта и выполняете сборку "deploy" оттуда и указывается "full build", то PB автоматически компилирует вещи в правильном порядке, нет необходимости приводить их в порядок, если у вас нет дублирующих имен объектов, которые не ' лучшая идея Думаю, я бы порекомендовал проверить, чтобы убедиться, что у вас нет дублирующих объектов в ваших PBL.
Если вы все еще сталкиваетесь с проблемами, у меня были проблемы, из-за которых PB-компилятор запутывался, например, самоссылочные ситуации или другие сложные ситуации, и это PITA, в большинстве случаев это что-то плохо спроектированное, так что постарайтесь понять, что происходит. и измените код, не то, что вы хотите услышать, но что-то происходит.
Или... в качестве другого обходного пути у нас был код проблемы, который не компилируется должным образом, и когда он терпит неудачу, вы находите объект, который не будет компилироваться (в вашем случае тот, который ссылается на структуру), и открываете его с помощью файла--> Откройте исходный код, найдите код, ссылающийся на структуру, и, если возможно, закомментируйте его и попробуйте перекомпилировать. После того, как все скомпилируется, откройте закомментированный вручную объект и скомпилируйте.
То, что вы описываете, не является чем-то необычным, иногда вам нужно проявить творческий подход, особенно при использовании устаревшего PFC.
С уважением, Рич
Если вы можете перенести 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 (в порядке их возникновения).