Progress Developer Studio для OpenEdge выдает синтаксическую ошибку, но тот же код не получит синтаксической ошибки при проверке синтаксиса из Progress Editor

PDSOE версии 4.5.2, OE 11.7.1 - 64-разрядная - Win 10 64

В моем PSDOE открыт Webspeed (.w). Если я просто щелкну правой кнопкой мыши по этому коду и выберу Проверить синтаксис в контекстном меню (Ctrl + Shift + C), он вернет мне ошибку из включаемого файла, используемого этим .w относительно get-cookie ():

Проверка синтаксиса: ** После непонятного - GET-COOKIE. (247)

В моем .w у меня есть все необходимые включаемые файлы Webspeed, включая proto.i, который будет иметь подпись функции прямого получения cookie и все такое.

Пока все хорошо, я мог подумать о Propath и всем остальном, но сейчас все усложняют две вещи:

  1. Если я решу скомпилировать код вместо проверки синтаксиса, он будет компилироваться нормально - это говорит мне, что все мои включаемые файлы и пропат правильно настроены и все настроены, создается .r

  2. Если из PDSOE, когда мой код все еще открыт, я захожу в Eclipse \ OpenEdge \ Tool \ Procedure Editor, он откроет редактор прогресса с тем же кодом на месте справа, и из этого редактора процедур, если я просто щелкну правой кнопкой мыши и проверю синтаксис , он вообще не вернет ошибок.

Я загрузил OE 12.3 и попробовал то же самое, получил такое же поведение. Я проверил все пропаты, и все было правильно (код компилируется) Я попытался перезапустить AVM, без разницы, я попробовал общий AVM, без разницы

У меня заканчиваются идеи, особенно после того, как я получил ту же проблему 12.3.

У вас может быть какая-то другая идея или что-нибудь еще, что могло бы объяснить поведение синтаксиса проверки в PDSOE?

Спасибо!


person JohnSmith    schedule 16.12.2020    source источник


Ответы (1)


Итак, конфигурация вашего проекта звучит нормально ... ИМХО, вам следует начать разговор с техподдержкой Progress.

Если ваш файл .w представляет собой сопоставленный веб-объект, а не оболочку CGI, вам может не повезти с поддержкой тех, что используются в OpenEdge 12.3, поскольку PASOE не поддерживает их запуск. Открыт запрос на улучшение для голосования: https://openedge.ideas.aha.io/ideas/OPENEDGE-I-753?utm_source=idea_comment_mailer&utm_medium=email&utm_campaign=subscribers

Однако в OpenEdge 11.7.1 это все еще должно поддерживаться.

Однако оболочки CGI должны нормально работать с OpenEdge 12.3.

person Mike Fechner    schedule 17.12.2020
comment
Спасибо, Майк, я ценю твою помощь. - person JohnSmith; 17.12.2020
comment
Спасибо, Майк, это классическая веб-архитектура. Это отображаемый веб-объект. Но опять же, он отлично работает с тем же редактором PDSOE, когда после щелчка правой кнопкой мыши в исходном коде я выбираю компиляцию вместо синтаксиса проверки, поэтому я считаю, что тот же AVM, который отвечает за компиляцию кода и создание .r, отвечает за проверьте синтаксис, когда его спросят. Те же препроцессоры и включаемые файлы, которые доступны в коде, когда я прошу его скомпилировать, разрешаются таким же образом по порядку и приоритету, как когда я прошу проверить только синтаксис, из редактора Proc из синтаксиса pdsoe будет проверять нормально, странно - person JohnSmith; 17.12.2020
comment
Я считаю, что - из PDSOE - открыв файл в редакторе, когда вы перейдете в меню \ OpenEdge \ Tools \ Procedure Editor, будет запущен новый клиент Progress, который позаботится об этом и будет нести все конфигурации (propath, DLC, promsgs, кодовая страница и т. Д.), И оттуда тот же код будет скопирован (открыт) и разрешен таким же образом с точки зрения препроцессоров / включаемых файлов и будет проверять синтаксис нормально. Это должно быть ошибка в PDSOE, которая существовала некоторое время вплоть до 12.3. Спасибо! - person JohnSmith; 17.12.2020
comment
Когда вы открываете редактор процедур в PDSOE, он использует Project AVM, поэтому он не запускает новый AVM. Честно говоря, я думаю, что ваш кейс - это кейс техподдержки Progress. Однако проблема может заключаться в том, что отображенные веб-объекты не поддерживаются в PASOE, а PASOE - единственный WebSpeed ​​в OE12. Таким образом, сопоставленные веб-объекты, скорее всего, сегодня не поддерживаются. Так что вам следует открыть кейс для поддержки OpenEdge 11.7. Вчера был выпущен FYI 11.7.9. - person Mike Fechner; 19.12.2020