Замечания и предложения

12 сообщений перенесены в тему Болталка PascalABC.NET

Она проявилась в нашем проекте, но только при использовании PascalABC.NET. Она - лежит на стороне компилятора, для которого затруднительно “разбирать” partial-классы, ещё и вложенные. Как исправлять - дело команды PascalABC.NET, наше - сообщать о том, что такие проблемы существуют.

Кроме того, обращу внимание на данную Issue:

В ней от выявителя ошибки минимальный код не требовался. Почему такое требование предъявляется к другим пользователям - неясно. Либо требуем от всех, либо ни от кого, почему такая избирательность?

9 сообщений перенесены в тему Болталка PascalABC.NET

Всё работает.

1 лайк

Тогда всё хорошо. Но, как я понимаю, у Вас последняя версия. А у меня была не последняя на тот момент. У меня не работало в 3.5.1.2277. Где это было исправлено? В Что нового - не видел по этому поводу заметок. Как понять, когда обновляться? На официальном сайте не даётся ссылок на Issue, чтобы потом перейти на GitHub и посмотреть изменения. В Visual Studio, например, сделаны уведомления по поводу выхода новой версии (не сборки).

12 сообщений перенесены в тему Болталка PascalABC.NET

Сообщение перенесено в тему Болталка PascalABC.NET

type
  MyString = class
    
    static function operator implicit(s: string): MyString := new MyString;
    
  end;
  
begin
  var s: MyString := 'abcde';
end.

Реально ли сделать так, чтоб это работало?

Увидел. Напишите Issue

Исправили

2 лайка

Раз sizeof теперь считается всегда на этапе компиляции, как насчёт разрешить это?

uses System.Runtime.InteropServices;

type
  [StructLayout(LayoutKind.&Explicit, Size = sizeof(integer) + 50)]
  r1 = record
    [FieldOffset(0)] i1: integer;
    [FieldOffset(sizeof(integer))] str: byte; // статичная строка на 49 символов
  end;
  
begin end.

Было бы очень полезно в кодогенераторах OpenCL и OpenGL.

В PascalABC.NET когда-нибудь появится отладка без оболочки?

Это как? Скриптами?

Как в Visual Studio. Там отладка работает и в консольных приложениях

Но настраивается все из оболочки ведь. Какой смысл в том, чтобы делать отладку в консоли? По-моему это такая долботня будет, а насколько востребовано?

Не забывайте что @Kotov - лорд псевдографики. А псевдографику в связке с оболочкой не настроишь.

Ну а конкретно почему он написал - посимвольный ввод. То есть без Enter между символами и с моментальной реакцией на нажатие.

Да не. Просто оболочка падает от методов типа Console.SetCursorPosition.

Ну для меня ни насколько, я на паскале уже ничего серьёзного не пишу. Просто интересно, будет ли. Ведь сейчас отладка нормально работает с формами, WPF и прочими, а с консолью падает из-за методов, которые обращаясь к WIN API должны иметь указатель на консольное окно.

Я реально не знаю, какому проценту пользователей это нужно. Но то, что оно отвлечет силы разработчиков от массы проблем, которые важно и нужно решать - это наверняка.

Ровно такому же, какому вообще нужна отладка. Не только консольные методы падают, например стандартные .NET’овские типы для воспроизведения мультимедиа тоже падают в оболочке (в шарпе тоже в оболочке всё это падает, но там есть нормальная отладка консольных приложения).