Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Вылетает при компиляции неправильного кода, вместо выдачи ошибки

18.08.2018, 17:45. Показов 1238. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = class
    event f: Action<T>; // Обязательно здесь должен стоять тип, состоящий только из T.
    
    constructor Create() := f += () -> Writeln(1);
  end;
 
begin
end.
На выходе получаем:
Внутренняя ошибка компилятора в модуле [pabcnetc.exe] :'System.Exception: Compile internal error: Undefined delegate operation'
1) С автоклассами и записями также реагирует на ошибку.
2) С типами функциональных (а не процедурных) делегатов получаем ту же самую внутреннюю ошибку компилятора.

Но, если убрать event, то:
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = auto class
    f: Action<T>;
    
    constructor Create() := f += () -> Writeln(1);
  end;
 
begin
end.
выдает ожидаемое сообщение об ошибке:
Program4.pas(5) : Нельзя преобразовать тип Action<T> к Action<>
Добавлено через 8 минут
Еще тесты показали, что компилятор падает при попытке компиляции следующего кода:
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = class
    event f: Func0<T>;
    
    constructor Create() := f += 1;
  end;
 
begin
end.
, но при замене Func0<T> на Action0:
Pascal
1
2
3
4
5
6
7
8
9
type
  TExample<T> = class
    event f: Action0;
    
    constructor Create() := f += 1;
  end;
 
begin
end.
реакция вполне адекватна:
Program4.pas(5) : Нельзя преобразовать тип integer к System.Action
Также, тесты показали, что:
Pascal
1
2
3
4
5
6
7
type
  TExample<T> = class
    event f: Action<T>;
  end;
 
begin
end.
, сломает компилятор с той же ошибкой, как и если бы на место Action<T> был Func0<T>.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.08.2018, 17:45
Ответы с готовыми решениями:

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class mob { public: void showHpMp()

Ошибки при компиляции кода
У меня дано задание &quot;Записать программу, которая на ввод знака препинания выдает на экран дисплея его название. Например, на ввод точки...

Ошибки при компиляции кода
Всем привет, суть проблемы следующая решил написать программу для одной задачи, пока написал цикл что бы проверить правильность расчетов на...

8
18.08.2018, 22:19

Не по теме:

Весь раздел в спаме... Ошибки компилятора или самого IDE должны исправлять разработчики или люди, которые хотя бы его исходники имеют(по желанию).

0
19.08.2018, 07:35  [ТС]

Не по теме:

Mike_Boone, Вы считаете, что создание тем, посвященным ошибкам компилятора, является спамом? Во-вторых, я не работаю с разработчиками над проблемой поиска багов, я это делаю для себя. То, что считаю интересным, скидываю на форум.

0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
19.08.2018, 10:13
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
То, что считаю интересным, скидываю на форум
Почему на ЭТОТ форум, а не на форум разработчиков? Чем мы можем помочь в исправлении этих ошибок? А становиться источником лжи (если вдруг выяснится, что проблема - не в компиляторе, а в самом коде, ибо нельзя бездумно брать C#-овый код и пытаться его дословно перевести на Паскаль, могут же быть какие-то особенности при переносе) - как-то не очень хочется.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
19.08.2018, 10:33  [ТС]
volvo, когда то давно я любил эту среду. Думал, что у нее есть будущее. Но с недавнего времени мое мнение о ней стало резко негативным - устал терпеть бесконечные баги IDE, компилятора. Говорил разработчикам, чтобы переписали среду заново - ничего не хотят. Говорил, что среда нестабильная, они отрицали. Называли обузой. Вместо того, чтобы понять почему я так говорю и посмотреть а что в действительности они имеют. Никакие доказательства нестабильности среды не действовали на них, они считали, что они всегда во всем правы, особенно в том, что среда не имеет существенных недостатков. В итоге сейчас я выкладываю баги сюда, чтобы пользователи знали о них, и не считали (кто считает), что среда без существенных недостатков. Я против того, чтобы разработчики лгали нагло всем о стабильности среды. Я считаю, что с этим надо что-то делать. Я не буду сидеть на месте и смотреть на их наглое вранье, я считаю, что их надо остановить...

Не по теме:

Не желаю сам быть таким как они и никому не советую.



Почему на ЭТОТ форум, а не на форум разработчиков?
Помогать этим криворуким разработчикам нет желания. А во-вторых они мне не рады там, так как я использовал достаточно много методов, чтобы они наконец поняли, что они ошибаются в том, что считают что их среда стабильная, но все безуспешно.

Цитата Сообщение от volvo Посмотреть сообщение
(если вдруг выяснится, что проблема - не в компиляторе, а в самом коде, ибо нельзя бездумно брать C#-овый код и пытаться его дословно перевести на Паскаль, могут же быть какие-то особенности при переносе) - как-то не очень хочется.
Я не брал код с C#, в этом Issue, а писал его с нуля. А C# использую лишь для сравнения - этому языку я доверяю больше.

Я эти баги откопал, и я должен за это нести ответственность, а не форум.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
19.08.2018, 11:10
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
когда то давно я любил эту среду. Думал, что у нее есть будущее. Но с недавнего времени мое мнение о ней стало резко негативным - устал терпеть бесконечные баги IDE, компилятора.
Аналогично. А вот дальше я сделал нечто совсем иное: забыл о существовании PABC.NET, и перешел на другую среду (в моем случае это - Лазарус), которая развивается, разработчики адекватны, и если их спросить о причинах отсутствия каких-то фич - они аргументированно ответят, почему их нет, или скажут, что оно в разработке (и даже скажут, на каком этапе разработки), или вообще подскажут, что оно уже готово, но я не там искал, и надо сделать вот так и вот так, чтобы этим пользоваться.

Зачем ты теряешь время (и свое, и наше), постя десятки никому из нас не нужных отчетов о багах?

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Помогать этим криворуким разработчикам нет желания
Они уже давно отслеживают этот форум. Сам виноват, не надо было писать свои гневные посты везде, где смог дотянуться. То есть, ты помогаешь в первую очередь им: они оперативно заляпывают указанное тобой здесь, и имеют репутацию проекта с очень быстрым исправлением ошибок. Ну, и кто выиграл?
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
19.08.2018, 11:13  [ТС]
volvo, хорошо. Не буду больше. Пусть сами баги отыскивают. Хотя, с другой стороны, если посмотреть на то, как они баги исправляют - чем больше исправления багов, тем больше вероятность появления новых... (Именно на это я и рассчитывал, создавай кучу тем, они будут править, внося новые косяки, а на костылях никакой проект вечно не продержится - когда-нибудь, да развалится. Уже это процесс начался (и не недавно, а давно).)
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
20.08.2018, 06:05
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
криворуким разработчикам
- сам бы взял и написал чего-нибудь подобное за "Спасибо", выложил, а мы бы покритиковали.

Не по теме:

интересно есть ли в природе "пряморукие" разработчики.

0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
20.08.2018, 09:01  [ТС]
Joy, сейчас я умею в некоторой степени проводить тестирование (на PascalABC.Net немного научился), когда научусь писать компиляторы и интерпретаторы Вам первому дать знать об этом.

Добавлено через 1 минуту
Цитата Сообщение от Joy Посмотреть сообщение
интересно есть ли в природе "пряморукие" разработчики.
Ну, наверное, есть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.08.2018, 09:01
Помогаю со студенческими работами здесь

Исправить ошибки при компиляции кода
Ребята , был код с индексацией все работало отлично , переделал на указатели , не компилирует видает 2 ошибки (варнинга) как исправить не...

Ошибки при компиляции кода с fstream
Здравствуйте! При работе с библиотекой fstream появились странные ошибки даже при компилировании этого кода #include &quot;stdafx.h&quot;...

Ошибки при компиляции кода в С++ Builder 6
Помогите исправить ошибки. Код в C++ Builder 6. #include &lt;vcl.h&gt; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #pragma hdrstop...

В чем причина выдачи ошибки компиляции?
Почему компилятор выдаёт ошибку ? Ошибка 1 error C2665: System::Console::WriteLine: ни одна из 19 перегрузок не может преобразовать все...

Ошибки C2678 и C2679 при компиляции кода
#include &lt;iostream&gt; #include &lt;string&gt; #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru