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

Баги IDE PascalABC.Net

16.08.2018, 16:06. Показов 1516. Ответов 33

Author24 — интернет-сервис помощи студентам
Баги компилятора PascalABC.Net

1) Issue: Разыменование указателя не считает его использованием.
2) Код:
Pascal
1
2
3
4
5
begin
  var i := 5;
  var ptr := @i;
  ptr^ := 3;
end.
3) В версии PascalABC.Net 3.4 (сборка 1744).

1) Issue: match неверно форматируется.
2) Код:
Pascal
1
2
3
4
5
begin
  match 1 with
    integer(var a): Print(1);
  end;
end.
3) В версии PascalABC.Net 3.4 (сборка 1744).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2018, 16:06
Ответы с готовыми решениями:

Баги компилятора PascalABC.Net
В этой теме я буду публиковать все новые баг репорты о PascalABC.Net. Если Вы нашли баг...

Как откомпилировать программу без IDE pascalabc.net?
Просто скомпилировать код, который написан, допустим, в обычном блокноте?

Почему Read работает как Readln? (ide PascalABC.NET 3.10 build 1200)
Люди, у кого стоит такая-же IDE (PascalABC.NET 3.10 build 1200) - у вас такая же шняга или нет?...

В чем разница PascalABC.net и PascalABC
Скажите в чем разница PascalABC.net И PascalABC. Помню когда-то давно программы работающие в...

33
233 / 32 / 19
Регистрация: 10.06.2016
Сообщений: 123
17.08.2018, 15:51 21
Author24 — интернет-сервис помощи студентам
Соколиный глаз, да позволяет, а баг то в чем? не откомпилировалось, отменил по ctrl-z и все. или вы хотите, чтобы на этапе набора текста еще и полный синтаксический анализ с компиляцией среда делала?
0
141 / 107 / 57
Регистрация: 15.09.2017
Сообщений: 425
17.08.2018, 15:53 22
xtro, просто запретить первым символом цифры и всё. Насчёт Ctrl+Z - он иногда вылетает.
1
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.08.2018, 15:56  [ТС] 23
kotAV, им следовало бы сделать автосохранение, чтобы программы при вылетании IDE не были потеряны.
0
141 / 107 / 57
Регистрация: 15.09.2017
Сообщений: 425
17.08.2018, 15:58 24
Соколиный глаз, есть же опция сохранять при удачной компиляции
0
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.08.2018, 15:59  [ТС] 25
kotAV, ну, это не сохранение через равные промежутки времени, как в MS Word.
0
141 / 107 / 57
Регистрация: 15.09.2017
Сообщений: 425
17.08.2018, 15:59 26
Соколиный глаз, хотя лично я бы не стал каждый раз компилировать 100500 строк и ждать 60 секунд их компиляции. Мне проще каждые секунд 10 Ctrl+S нажимать.
0
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
17.08.2018, 16:00  [ТС] 27
kotAV, я не про компиляцию, я именно про сохранение .pas файлов.
0
141 / 107 / 57
Регистрация: 15.09.2017
Сообщений: 425
17.08.2018, 16:07 28
Соколиный глаз, я написал ещё до того, как ответ увидел) Выработай Ctrl+S привычку и всё будет нормально)
0
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
18.08.2018, 10:35  [ТС] 29
1) Issue: Неадекватная реакция IDE при переименовании файла-пространства имён.
2) Действия:
2.1: Создаем проект.
2.2: Создаем namespace A: A.pas.
2.3: Пытаемся переименовать A.pas в B.pas - получаем ошибку (но файл переименовался (в Проводнике также можно в этом удостовериться), хотя продолжает отображаться в IDE как A.pas).
2.4: Для подтверждения ошибки пытаемся создать B.pas - и получаем сообщение о том, что он уже есть в проекте.
3) В версии PascalABC.Net 3.4 (сборка 1744).
Миниатюры
Баги IDE PascalABC.Net   Баги IDE PascalABC.Net   Баги IDE PascalABC.Net  

0
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
18.08.2018, 17:20  [ТС] 30
1) Issue: Переименование класса, записи, перечислимого типа, синонима типа (псевдонима) или типа функции/процедуры в PascalABC.Net в модуле работает неправильно, независимо от того, указан ли тип в формате ИмяМодуля.Тип или просто Тип во втором модуле.
2) Коды модулей:
TestUnit.pas:
Pascal
1
2
3
4
5
6
unit TestUnit;
 
type
  __TSomeName = class
  end;
end.
TestUnit2.pas:
Pascal
1
2
3
4
5
6
unit TestUnit2;
uses TestUnit;
 
type
  TA = TestUnit.__TSomeName;
end.
Нажимаем ПКМ над __TSomeName в TestUnit и набираем имя "MyType".
В TestUnit2.pas получаем:
Pascal
1
2
3
4
5
6
unit TestUnit2;
uses TestUnit;
 
type
  MyTypeTSomeName;
end.
если откатить изменение в TestUnit2, то получим:
Pascal
1
2
3
4
5
6
unit TestUnit2;
uses TestUnit;
 
type
  MyTypeit.__TSomeName;
end.
, откатив еще раз, вернем коду нормальный вид.
3) В версии PascalABC.Net 3.4 (сборка 1744).

Добавлено через 6 минут
Выработай Ctrl+S привычку и всё будет нормально)

Не по теме:

kotAV, это, конечно, можно сделать. Но, все же, удобнее когда об автосохранении заботится сама IDE, а не пользователь тыкает Ctrl+S каждые 5 минут.

0
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
20.08.2018, 15:52  [ТС] 31
1) Issue: Неверное определение типа в Intellisence для Arr(Seq( ));.
2) Код:
Pascal
1
2
3
4
5
6
begin
  var s := SeqGen(10, p -> p * p, 1);
  var a := Arr(s);
  a.Println();
  Writeln(a.GetType());
end.
3) В версии PascalABC.Net 3.4 (сборка 1749).

1) Issue: анализатор кода не видит value в расширенных свойствах.
2) Код:
Pascal
1
2
3
4
5
6
type
  t1=class
    property p1:byte write writeln(value);
  end;
 
begin end.
3) В версии PascalABC.Net 3.4 (сборка 1749).

Добавлено через 2 минуты

Не по теме:

Хотя, разработчики с удовольствием бы упрекнули меня в том, что занимаюсь тестированием слишком старой и не актуальной версии, если новая: 3.4 (сборка 1755). :D



1) Issue: Неправильная ошибка в лямбде, которая в конструкторе.
2) Код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure p1(b1, b2: byte) := exit;
 
type
  t1 = class
    constructor(p: procedure) := exit;
  end;
 
begin
  new t1(//обязательно в конструкторе, в методе выводит правильную ошибку
    ()->
    p1(0)//Ошибка: Неверное число параметров конструктора
  )
end.
3) В версии PascalABC.Net 3.4 (сборка 1749).

1) Issue: Типизированный файл не сохраняет приватные поля.
2) Код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
uses System.Reflection;
 
type
  r1=record//b1 и b2 должно сохранять. b3 и b4 не должно
    public b1:byte;
    private b2:byte;
    
    public const b3:byte = 1;
    public class b4:byte;
  end;
 
begin
  var t := typeof(r1);
  
  //как это работает сейчас:
  t.GetFields//b1 b4 b3
  .Where(fi->not fi.IsStatic)//b1 b3
  .Where(fi->not fi.IsLiteral)//b1
  .PrintLines;//выводит только b1
  
  writeln('-'*50);
  
  //как надо:
  t.GetFields(
    BindingFlags.GetField or
    BindingFlags.Instance or
    BindingFlags.Public or
    BindingFlags.NonPublic
  )//b1 b2 b3
  .Where(fi->not fi.IsLiteral)//b1 b2
  .PrintLines;//выводит как и должно, b1 и b2
  
end.
0
0 / 0 / 0
Регистрация: 02.12.2018
Сообщений: 1
02.12.2018, 13:26 32
Вот такой вот странный код:

Pascal
1
2
3
4
5
var True: boolean;
begin  
 True:=False; 
 Print(True); 
end.
работает и выдает False
0
2308 / 1419 / 516
Регистрация: 07.04.2017
Сообщений: 4,721
02.12.2018, 13:53 33
True это константа, которая определена в более низкоуровневых модулях. Если вы определяете её в своём модуле/программе - её перезаписывает. Так со всеми именами. К примеру, константой Pi и типом PByte.
0
233 / 32 / 19
Регистрация: 10.06.2016
Сообщений: 123
03.12.2018, 06:02 34
ramsuro, правильно работает, это не ошибка, в fpc аналогично:
Pascal
1
2
3
4
5
6
7
var
 true:boolean;
begin
  true:=false;
  writeln(true);
  readln;
end.
0
03.12.2018, 06:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2018, 06:02
Помогаю со студенческими работами здесь

Установится ли PascalABC.NET на систему, где установлен только .NET 4.6.1?
Привет всем. Вопрос, собственно, озвучен выше. Конкретнее: есть компьютер со свежеустановленной...

Перевод с C++ на PascalABC.NET
Переведите, пожалуйста, на PascalABC.NET. Сам пробовал, но вылезает очень много ошибок. Делаю фикс...

Задачи PascalABC.NET
Ребят, не могу задачи что-то решить. Я знаю, что среди вас есть программисты. Именно поэтому прошу...

Объекты в PascalABC.NET
Добрый вечер, уважаемые программисты. Сразу к делу. Я пишу одну программу в которой должно быть не...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru