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

Clarion, Clarion 7

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

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

Интересный глюк с классами 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_)
...
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4989
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 21 раз

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

Сообщение kreator »

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

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

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

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

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

! --- ABREPORT.INC
PrintPreviewClass CLASS(WindowManager)
...
AddArch Procedure(*PreviewQueue ImageQueue,string ReportName_),byte
  end
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить