Ошибки PascalABC.NET


#946

Пишем System, ставим точку - появляются подсказки по неймспейсу. Ставим нижнее подчёркивание - подсказки пропали.

Но хоть у имён и может быть нижнее подчёркивание - мне кажется что это фича такая, поэтому пишу сюда.

А точнее не просто может а есть, вот класс - System.__ComObject;.


#947

В System нет публичного класса __ComObject


#948

Не публичный значит же что нельзя с ним работать? Тогда почему это компилируется и запускается:

begin
  var a:System.__ComObject;
end.

#949

А с _ это таки ошибка и добавленная в 1 из последних билдов, потому что имена из OpenGL тоже перестали работать.


#950

нет, нельзя


#951

Ну так почему тогда[quote=“Sun_Serega, post:948, topic:126, full:true”] begin var a:System.__ComObject; end. [/quote]


#952

a, ну это фикс минорного бага https://github.com/pascalabcnet/pascalabcnet/issues/573 все восстановил назад. с 573 можно жить.


#953

Подождите а каким боком графический баг к этому? Та issue про то что надо закрывать окно подсказки по пробелу, то что оно просто болтается и мешает.


#954
type
  t1 = class;
  t2 = class;
  
  t1 = class
    
    private a: t2;
    
    public procedure p1;
    begin
      writeln(a.b);
    end;
  
  end;
  t2 = class
  
  public 
    a: t1;
    
    b: byte;
  
  end;

begin
  
end.

В t1.p1 анализатор кода видит имена из t2, а компилятор нет. Кто врёт?


#955
type
  C1 = class;
  I1 = interface
    
    function f1: byte;
  
  end;
  C1 = class(I1)
  
  end;

begin end.

Предописание класса ведь пустышка, разумнее выделять строчку с описанием класса.


#956
uses GraphABC;
var
   x: integer;
begin
   SetConsoleIO;
   Write('x='); Readln(x);
   Writeln(x);
end.

Вывод есть, а ввода, если запуск из среды, нет. Значение x не будет введено и не будет напечатано.


#957

А в самой среде окно ввода тоже молчит?


#958

Не понял. Окно ввода в среде не появляется совсем. Окно вывода есть. Версия 3.3, сборка 1541


#959

Ну когда запускаешь обычную консольную программу, и что-то надо ввести с клавиатуры или вывести на экран через Write или Read, то консоль не появляется, а ввод-вывод осуществляется внутри среды. Вот про это окно я и говорю. Да, именно в окне вывода


#960

Ну для начала стоит всё же установить 1595(последнюю сейчас, сегодня обновилось вроде), перед тем как писать об ошибке… Насчёт этого случая - я пытался отследить отладкой где зависает, но дошёл до Readln, потому что до него нормально доходит и не смог найти в PABCSystem процедуру Readln(x:integer), что очень странно… Искал по Ctrl+F Readln, Слово целиком. Там есть только пустой Readln, без параметров.

@YashiroShow, вы не считаете что пытаться подсказывать не попробовав запустить программу на своём компьютере не очень продуктивно?))


#961

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


#962

Ну для начала стоит всё же установить 1595

Не придирайтесь. В 1595 все так же.


#963

Но могло быть и исправлено. Откуда вы могли знать.

В любом случае вот основная причина:


#964

Да, это неустранимая ошибка. В GraphABC в этом режиме планировался только вывод. GraphABC мы уже не поддерживаем. Используйте GraphWPF


#965

Уже достаточно много чего не поддерживается “вочным порядком” - может быть, где-то на страничке PascalABC.NET в новостях стоит указать, что с такой-то сборки (или даты, месяца…) более не поддерживается тот или иной компонент, возможность, и т.п.? Кто сейчас знает, что не поддерживаются электронный задачник, WDE, теперь вот GraphABC, что если, к примеру, мы пользуемся лямбдами, нельзя метки описывать… ?

Получается достаточно много исключенного или ограниченного, о котором можно узнать, только читая все ветки форумов по Паскаль.