Интересный глюк с классами ABC

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Интересный глюк с классами ABC

Сообщение Игорь Столяров »

Привет всем !

У меня в папке проекта находились изменённые классы ABREPORT и долгие годы всё было хорошо.
Сейчас собрал все изменения и внёс их в папку LIBSRC.

И понеслись проблемы при загрузке (!!!) APP ... :( Причём потом сам APP прекрасно собирался. :shock:

1.jpg

Разобрались. Оказывается причина была в расхождении описаний метода в INC и CLW файлах (с которыми
проект генерилcя все эти годы без проблем). Но получается, что при загрузке APP тогда использовались
оригинальные файлы из LIBSRC, и вот такой раcколбас описаний DESIGNER категорически не устраивает ...

Код: Выделить всё

! --- ABREPORT.INC
PrintPreviewClass CLASS(WindowManager)
...
AddArch Procedure(*PreviewQueue ImageQueue,string),byte
  end

! --- ABREPORT.CLW
PrintPreviewClass.AddArch Procedure(*PreviewQueue ImageQueue,ReportName_)
...
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5157
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Интересный глюк с классами ABC

Сообщение kreator »

ReportName_ не string?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Интересный глюк с классами ABC

Сообщение Игорь Столяров »

kreator писал(а): 24 Июль 2023, 17:33 ReportName_ не string?
Здесь иное ... Требуется (зачем-то) явное указание имени параметра.
Т.е. с точки зрения DESIGNER, разбирающего заголовок класса, правильно вот так (а компилятору это пофиг)

Код: Выделить всё

! --- ABREPORT.INC
PrintPreviewClass CLASS(WindowManager)
...
AddArch Procedure(*PreviewQueue ImageQueue,string ReportName_),byte
  end
Make Clarion Great Again ! 😎
Ответить