С7 и мелкие пакости

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: С7 и мелкие пакости

Сообщение ORS »

Дед Пахом писал(а): Code folding почему-то работает только в clw/inc
В inc работает фолдинг? Только раскраска.
Дед Пахом писал(а): а если у меня есть cla-файлы с расширением например *.def, то фиг, весь текст серый, про интеллисенс уже молчу. Можно бы сделать список поддерживаемых расширений.
Ну, вообще-то он есть, только не доступен через интерфейс. Надо открывать ClarionBinding.addin и добавлять там в нужные места нужные расширения. Но парсер, а следовательно code completion, folding и т.д. будет для них работать только если это полноценные кларионовские файлы (как минимум начинаются с MEMBER или PROGRAM). Конкретные же файлы раскрасить очень просто, правый клик в текстовом редакторе, File Mode, Clarion.
Дед Пахом писал(а):Про интеллисенс - странный он какой-то. Не видит, например, встроенные функции, stop или message
Это просто что-то сломалось. Вообще, конечно, должен видеть.
Дед Пахом писал(а): в глубь через include('file.inc') лазить почти не умеет, а команда контекстного меню Goto Declaration и подавно.
Примеры кода и шаги для воспроизведения были бы идеальны для решения таких проблем. Потому, как вообще умеет и Goto Declaration работает. И было бы хорошо, если бы на подобные проблемы (да и на все остальные) заводились баги в PTSS, потому как иначе это никогда не будет починено (мало кто постоянно мониторит ньюсы и форумы, чтобы вылавливать оттуда баги).
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8025
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 95 раз

Re: С7 и мелкие пакости

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

Еще один прикол AppGen в С7 : Есть окно, на нем Sheet с одним Tab. Добавляем кнопку которая расположена на Tab.
Все нормально. А теперь берем кнопку и перетаскиваем за пределы Sheet, но не меняя ее расположение в списке контролов окна. И кнопка в окне дизайнера окон исчезает .... А после сборки приложения - кнопка видна и работает,
в С6 естественно тоже такой проблемы нет. Если переместить кнопку за пределы Sheet и в списке контролов - то кнопка появляется в окне дизайнера окна ....
Make Clarion Great Again ! 😎
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3285
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Re: С7 и мелкие пакости

Сообщение Дед Пахом »

В inc работает фолдинг? Только раскраска.
Да, действительно. А почему? В inc-ах же декларации классов, почему же их нельзя сворачивать?
Ну, вообще-то он есть, только не доступен через интерфейс. Надо открывать ClarionBinding.addin и добавлять там в нужные места нужные расширения.
Спасибо, попробую. Но опция в UI нужна однозначно. Причём я бы наоборот сделал - список _неподдерживаемых_ расширений.
Но парсер, а следовательно code completion, folding и т.д. будет для них работать только если это полноценные кларионовские файлы (как минимум начинаются с MEMBER или PROGRAM)
Вот это вообще непонятно. include('file.txt') вставить можно в любом месте, но если там нет member или program (а там нет, конечно), то он не полноценный (четвертьценный что-ли?) кларионовский файл? Ребята, это неправильно. Или заведите ещё одно кодовое слово наряду с мембером и программом, например, SOURCE.
Примеры кода и шаги для воспроизведения были бы идеальны для решения таких проблем. Потому, как вообще умеет и Goto Declaration работает.
Я понял,этот пункт должен называться "Goto variable declaration" или "Goto property declaration" в зависимости от ситуации. Поскольку он никогда не приведт Вас к декларации типа (класса, группы или equate).
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3285
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Re: С7 и мелкие пакости

Сообщение Дед Пахом »

Но Вы понимаете, это всё мелочь или придирки. Основное это 1) падение IDE и 2) проблемы с red-файлами. Лично для меня.
С уважением, ДП
Аватара пользователя
try-catch
Бывалый
Сообщения: 62
Зарегистрирован: 03 Декабрь 2005, 13:02
Откуда: Russia

Re: С7 и мелкие пакости

Сообщение try-catch »

Дед Пахом писал(а):Вот это вообще непонятно. include('file.txt') вставить можно в любом месте, но если там нет member или program (а там нет, конечно), то он не полноценный (четвертьценный что-ли?) кларионовский файл? Ребята, это неправильно. Или заведите ещё одно кодовое слово наряду с мембером и программом, например, SOURCE.
Тут видимо лучше привести пример. Допустим есть include('file.inc') с таким кодом: Если этот файл включается до слова CODE, то это декларация переменной А типа В, с инициализацией значением 4. Если этот файл включается после слова CODE, то это вызов метода В с передачей значения 4, где А - это метка. Под полноценным подразумевается файл исключающий любое двусмысленное толкование его содержимого.
Дед Пахом писал(а):Но Вы понимаете, это всё мелочь или придирки. Основное это 1) падение IDE и 2) проблемы с red-файлами. Лично для меня.
Так в том-то и дело, что все это абсолютно понятно. Но "кирпичики", из которых сложено IDE, поставляют из разных мест...
Regards,
TC
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3285
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Re: С7 и мелкие пакости

Сообщение Дед Пахом »

Этим примером (про A B(4)) Вы противоречите сами себе.Компилятор что, впадает в ступор при встрече с таким include? Он прекрасно понимает, где у него data, а где code. Жаль, что этот кусок писал очередной пионер.
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: С7 и мелкие пакости

Сообщение ORS »

Дед Пахом писал(а):Этим примером (про A B(4)) Вы противоречите сами себе.Компилятор что, впадает в ступор при встрече с таким include? Он прекрасно понимает, где у него data, а где code. Жаль, что этот кусок писал очередной пионер.
Имеем файл с содержимым
А В(4)
Скажите, пожалуйста, что я имел в виду, вызов метода или объявление переменной? Я уверен вы не сможете сказать ничего определенного, все зависит от места куда будет включен этот файл. Вам об этом и пытаются сказать, что открывая include просто как текстовый файл, без контекста (знания места, куда он будет вставлен)), нормально его отпарсить проблематично. Когда работает компилятор, он обрабатывает эти файлы по месту, т.е. знает контекст, а не парсит инклуд как отдельный файл, парсеру же IDE необходимо работать с ним, как с отдельным файлом.
А вообще, конечно, любой нормальный программист напишет все гораздо лучше, чем пионеры из SV, все же элементарно. Жаль, только, что такие нормальные программисты не идут работать на SV, а предпочитают советовать со стороны.
Аватара пользователя
try-catch
Бывалый
Сообщения: 62
Зарегистрирован: 03 Декабрь 2005, 13:02
Откуда: Russia

Re: С7 и мелкие пакости

Сообщение try-catch »

Дед Пахом писал(а):Этим примером (про A B(4)) Вы противоречите сами себе.Компилятор что, впадает в ступор при встрече с таким include? Он прекрасно понимает, где у него data, а где code. Жаль, что этот кусок писал очередной пионер.
Непонятно в чем Вы увидели противоречие. Допустим пользователь открыл в IDE какой-то solution. В solution'е десять проектов, в каждом по 20 CLW-файлов, в каждом CLW-файле по 10 includе'ов на разные INC-файлы. Теперь пользователь открывает через File Open диалог какой-то файл. Это не PROGRAM, не MEMBER, это просто какой-то файл. К какому из 10 проектов на Ваш взгляд он относится? К какому CLW-файлу его отнести, если явно его нет ни в одном? Он может включаться 30-ым по цепочке вложенных include'ов, и во время компиляции он найдется - с этим проблем нет. Но в IDE нужно знать контекст - относительное местоположение включаемого кода, а делать предположения по содержимому файла не всегда возможно и самое главное корректно. Можете проанализировать еще раз мой пример.
Regards,
TC
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3285
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Re: С7 и мелкие пакости

Сообщение Дед Пахом »

Попробую вас обоих переубедить. Какая разница, есть ли в файле MEMBER или PROGRAM, для того чтобы встретив такой текст

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

A  CLASS
  END
понять, что можно свернуть код от CLASS до END? (Я не рассматриваю клинический случай, когда предложение END вынесено в ещё один incude, те.
A CLASS
INCLUDE('end.txt')
)? Code completion тоже прекрасно может работать, невзирая на. Просто давать возможность выбрать из списка и то, что годится для DATA, и то, что для CODE, если уж никак нельзя понять, где мы находимся.
Ну сами посудите, _все_ inc-файлы в папке libsrc неполноценные, это же ненормально?
С уважением, ДП
ORS
Бывалый
Сообщения: 91
Зарегистрирован: 07 Май 2009, 23:18

Re: С7 и мелкие пакости

Сообщение ORS »

Дед Пахом писал(а):Попробую вас обоих переубедить.
Неполучится, ибо если делать по-нормальному, то парсер как раз и должен поддерживать все возможные клинические случаи (а их в кларионе можно наплодить вагон и маленькую тележку). :)
Но компромисс мы все же сделали. Не знаю, войдет это в следующий билд или нет, но парсер для инклудов мы включили. В "клинических" случаях он будет работать недетерминированно, но для разумных файлов (типа того, что лежит в libsrc) все должно быть нормально.
Аватара пользователя
try-catch
Бывалый
Сообщения: 62
Зарегистрирован: 03 Декабрь 2005, 13:02
Откуда: Russia

Re: С7 и мелкие пакости

Сообщение try-catch »

ORS писал(а):В "клинических" случаях он будет работать недетерминированно...
Что? Для "клинических" случаев не будет работать?!
Ну это точно отстой!!!
:lol:
Regards,
TC
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3285
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Re: С7 и мелкие пакости

Сообщение Дед Пахом »

Спасибо за хорошие новости.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3285
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Re: С7 и мелкие пакости

Сообщение Дед Пахом »

Кстати, а насчёт code completion в файлах tpl/tpw не думали? Свёртка и расцветка в шаблонах, конечно, хорошо, но хочется же большего!
С уважением, ДП
Аватара пользователя
ingasoftplus
Ветеран
Сообщения: 464
Зарегистрирован: 26 Декабрь 2006, 17:07
Откуда: Оттуда :)
Благодарил (а): 123 раза
Поблагодарили: 6 раз

Re: С7 и мелкие пакости

Сообщение ingasoftplus »

Вот сегодня зануда по каналам спутниковой связи сообщил:

here is an update on C7

We plan to release the next update on this coming Tuesday, the build has 90+ fixes/changes and new features. Probably the most important one for many is;

FEATURE: Window Designer new Clarion6 compatible mode allowing child controls outside their parent container

this of course allows controls which are children to a container control such as a Tab or Group to move outside the parent container while still 'belonging' to the parent container.
While working on implementing that new functionality we added some very nice related functionality;

FEATURE: TabOrderAssistant (TOA) - added support for multiselect

this allows you to select >1 control in the TOA and then move it from one parent container to another (or move into or out of a container, while the selected controls x,y position reamins unchanged.

There are also 50 PTSS reports closed, and an intense effort was made to fix all memory leaks, and reduce overall memory usage. We have simplified the main IDE toolbar options, and several feature requests are implemented in this next release;

FEATURE: You can now build/rebuild/clean a single project without the projects that it is dependent upon building
FEATURE: Messages about code generation status now show in the IDE status bar (no more popup windows)
FEATURE: Property pad activation on Enter key press in the designers
FEATURE: Support for code folding and code completion in include files (.inc, .int, .trn, .equ)
FEATURE: Make&Run from the Application Pad will make with no dependencies if only one App is selected. In this case the StartUp project will be run after the Build if no errors exist.
FEATURE: Menu Item and Toolbar button: Add Existing Item To Solution Or Project
FEATURE: Application Pad button to Build or Generate and Build application in batch mode.
FEATURE: Generate, Make and Run current applications button. NOTE: The Run command will run the StartUp project.
FEATURE: IDE Layout specific for working with Applications
FEATURE: IDE Menu Item - Build->Generate and Make Solution This executes the actions set for the Generate And Make button in the application Pad
FEATURE: New Application Option to Edit Source Code Embeds using the Embeditor from the Embed tree (allows for code completion and code folding). FEATURE: The solution configuration (Release/Debug) now is selected from the first app loaded into the solution when it is created.

Lots of good things in the list above, not the least of which is the batch mode for building solutions, and the option to have the embeditor activated from the Embed Editor tree dialog, which gives you the best of both worlds as you get the Embed tree to select the embed, but when you add/edit an embed from the tree, the full embeditor is activated at the selected embed point which gives you code completion and code folding.

Regards,

Robert Zaunere
SoftVelocity Inc.
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Re: С7 и мелкие пакости

Сообщение lsgsoftware »

Ну вот и я сподобился покрутить С75349.Взял приличное старое
приложение из своих и прокрутил.Вы знаете,взялось и заработало.Попробовал
покорежить,в целом получилось.Да, иногда без видимых причин С7 вылетает на
простых операциях при попытке сохранить изменения. Из нового заметил -возможность редактировать
напрямую объект(например окно) либо в тексте,либо в виндовом редакторе и переключаться в дизайнер.Нужно ли это-ну хуже не будет.
Много чего пока не смог найти сходу,к примеру расцвечивание полей ввода, где вводить всплывающий хинт при наведении мыши,фиксированная
стартовая позиция окна при запуске(не save windows setting) и т.д.
Общее впечатление -С7 делает другая команда.Иначе зачем менять интерфейс системы с программистом,к которому все привыкли и
который нареканий не вызывал.Лучше бросить все силы на улучшения функционала, а интерфейс,так это не для гламурных девочек,а
для професссионалов,у которых классический интерфейс сидит в пальцах.Хотя сейчас это модно,накрутить рюшечек и вроде как
новая версия продукта - работа идет!!!, а улушений функционала нет.
Ясно,сейчас браться за коммерческий проект на С7 нельзя.Вот тут нужен энтузиаст-профессионал(который имеет прямой интерес
от контактов с велосипедистами).В свое время Ник Цигуро из Арсиса написал очень хорошее пособие по С5 на примере разработки
конкретного приложения,в котором очень компактно но доступно расписана вся цепочка создания уж не совсем хилого проекта.А сейчас
на нашем форуме Цигуро и не появляется, а ведь он ГУРУ.Похоже АРСИС здорово поостыл к Клариону,а ведь он единственный дилер в стране.
Мои планы -сделать маленький проектик,но с техническими наворотами с нуля и посмотреть,что будет получатся.
Тему эту в форуме обязательно нужно сохранить,но наверное просто ругать велосипедистов уже не стоит.Если кто-то увидел что-то хорошее или
плохое - будем обмениваться опытом
Ответить