эти ф-ции не ошибки выводят, а stack tarce-ы всех вызовов внутри кодогенератора.
PS: добавлен вывод ошибки в отладочную консоль с именем файла, строкой и позицией в ней
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
| ||
Голосовали: | iarspider |
Ответов: 1841
Рейтинг: 369
|
|||
Всем привет
Вот и мои 5 копеек Всё же добил "кольцевание" и можно теперь при обнаружении замыкания на методе, вставлять альтернативный код а не лицезреть вылет среды. Как это можно реализовать в С# я без понятия, но в purebasic вроде процедурами Как работает: Объявляем глобальную переменную (test) в hiSys.hws Создаём массив в hiSys.hws с раннее объявленной переменной. У элемента в каждом методе, необходимо прописать 2 переменные:
В случае если id найден, прерываем цикл, присваиваем переменной CP число 1 и потом пишем альтернативный код, который будет печататься в случае кольцевания на этом методе:
В случае если в массиве id не найден, отрабатываем 2 код:
В итоге, вот эта конструкция из CNET:
Коды hiSys.hws
hiMessage.hws
Сейчас вот думаю, как это всё оптимизировать а также о возможных проблемах в будущем |
|||
карма: 1 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
CriDos, такие оптимизации надо делать на уровне компилятора RTCG, а не делать костыли в коде.
|
|||
карма: 10 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
CriDos писал(а): У элемента в каждом методе, необходимо прописать 2 переменные:это похоже на решение? |
|||
карма: 27 |
|
Ответов: 1821
Рейтинг: 168
|
|||
Непонимаю, почему у меня не вставляются и не компилируются схемы с интерфейсными компонентами?
|
|||
карма: 5 |
|
Ответов: 1841
Рейтинг: 369
|
|||
Dilma писал(а): это похоже на решение?Это решение, но оно естественно нуждается в оптимизации и применять его на данный момент нельзя ------------ Дoбавленo в 00.19: Думаю это мой окончательный вариант, т.к. больше мыслей по упрощению нет... Реализовал на примере элемента Message из пакета CNET. hiSys.hws исходник hisys.hws добавил глобальную переменную cil. добавил массив cil. добавил функцию cil (Check_Infinite_Loop)
hiMessage.hws С этими изменениями, следующая конструкция:
Вот |
|||
карма: 1 |
| ||
файлы: 2 | hisys.sha [8.2KB] [342], himessage.sha [669B] [334] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
CriDos, корректное решение это генерация ф-ции на элементе HubEx - т.е. тоже самое, что сегодня реализовано в FTCG MultiElment. Все остальное это костыли.
|
|||
карма: 27 |
|
Ответов: 5446
Рейтинг: 323
|
|||
В класс sys добавлен метод add_use(module), который является рекомендованным способом добавления директив "using <модуль>;" в код.
|
|||
карма: 1 |
|
Ответов: 844
Рейтинг: 17
|
|||
Большая прозьба добавти
аналог
Из-за недостатков компонентов можно былобы решать проблему с помощью VBJScript, |
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
GAv писал(а): Из-за недостатков компонентов можно былобы решать проблему с помощью VBJScript,Тогда уж работу со всеми COM-серверами унифицировать. Недостатки(-ток?) компонентов можно было бы компенсировать InlineCode. Про отладку пока вообще молчим. |
|||
карма: 1 |
|
Ответов: 844
Рейтинг: 17
|
|||
Ну чисто мне подуше VBJScript я тут лично за себя говорю а не общее хотения. но было бы хорошо icode и Vbs
|
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
GAv, я всё понимаю, но из C# вызывать VBJscript... Это уже извращением попахивает.
|
|||
карма: 1 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2022-09-20 02:08:28 |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
217.118.79.22 (GAv?), может проще нужный функционал в виде компонентов реализовать?
|
|||
карма: 1 |
|
Ответов: 3889
Рейтинг: 362
|
|||
iarspider писал(а): может проще нужный функционал в виде компонентов реализовать?Если так важен синтаксис, сделать ему InlineCode на VB.NET, компилятор vbc.exe там рядом лежит, в папке фреймворка, вопрос только в том, как получать и линковать псевдокод (пока ещё не интересовался этим, но, по идее, должен быть способ). Хотя гораздо целесообразнее и логичнее сперва IC на C# прикрутить, IMHO. |
|||
карма: 1 |
|