Да, мы в курсе.
Скачайте новую версию - исправлено.
Да, мы в курсе.
Скачайте новую версию - исправлено.
C Новым Годом!
Версия 3.0, сборка 1039.
Правильно ли установлены крайние значения для “int64”, “longword, cardinal” и “uint64”?
Посмотрите:
program Pif_Paf;
var
x,y: real;
a: int64;
b: integer;
begin
a := 0;
b := 0;
repeat
x := Random;
y := Random;
a := a + 1;
if ((x < 0.000000001) or (y < 0.000000001)) then
begin
b := b + 1;
writeln(b:3, a:15, milliseconds():10, x:22, y:22);
end
until a > 10000000000;
writeln (' Конец программы ', milliseconds():10);
end.
Несколько вопросов: 1.) “а” становится отрицательным…? 2.) Почему программа всё-таки завершает работу?
Результат работы программы:
1 763889016 43641 0.797020635473086 0
2 1187522192 67829 0 0.612227891391249
3 1227867247 70129 0.516337103450828 4.6566128752458E-10
4 1805308086 103100 0.710269268467216 0
5 1850827078 105695 4.6566128752458E-10 0.988287678448617
6 1865132819 106514 0.755673119684529 4.6566128752458E-10
7 -2111166176 124700 0 0.741580432160562
8 -2061793876 127516 0.0430988008357113 9.31322575049159E-10
9 -1182746405 177645 9.31322575049159E-10 0.424749221850535
10 -824675824 198057 0 0.472625514246815
11 -561436122 213061 0 0.406789755172464
12 -463914965 218624 0 0.541352988472838
13 -318352611 226928 9.31322575049159E-10 0.448757509444262
14 -257347741 230421 4.6566128752458E-10 0.450357650616373
15 -64728554 241424 0.101988723083394 4.6566128752458E-10
16 -43428568 242638 0.569834934812894 9.31322575049159E-10
17 -10238955 244531 0.572170391013925 0
18 152767907 253815 0.202438492887858 0
19 328624291 263837 0.863554813835563 4.6566128752458E-10
20 786597231 290072 0.800498753693187 0
21 1624233759 337825 0.094699202615162 4.6566128752458E-10
22 1691385682 341655 0 0.809322355691959
23 -1983088521 377018 0 0.624812247522554
24 -358090850 469632 0.90888921493147 9.31322575049159E-10
25 306613843 507609 0.0550177474762396 4.6566128752458E-10
26 513723491 519413 0 0.478204154632149
27 892818248 541021 4.6566128752458E-10 0.514894075000144
Конец программы 570497
Это баг в форматном выводе. a:15 приводит a к типу integer. Само значение a правильное. Ошибку исправим
Уже исправили. Версия на сайте
А проверить не пробовали?
Мне проще сначала убедиться
type
someclass = class
procedure genproc<T>(var x, y: T);
begin
end;
procedure Test(A, b: integer);
begin
genproc(a, b);
end;
end;
begin
end.
Первая компиляция - внутренняя ошибка Вторая компиляция - внутренняя ошибка Третья компиляция - внутренняя ошибка Многократное нажатия клавиши F9- вообще зацикливание основного потока. Пора бы внедрить в среду АвтоДамп. Но это лечится с помощью self…
Потому, что PNG-файлы не компилируются.А как насчет, например, выложить текст программы вместо скрина? ^^ И как насчет выложить текст ошибки вместо, гхм, того, что там есть?
Ваш пример работает. Переинсталлируйте Паскаль и попробуйте повторно.
Если не заработает - присылайте внутреннюю ошибку.
После обновления Pascal ABC Net до 3.0 сборка 1164
для любой программы выводится ошибка "() : Ошибка чтения PCU файла ‘C:\PABCWork.NET__RedirectIOMode.pcu’"
Обновление было произведено, потому что перестал работать модуль GraphABC.
В результате перестало работать вообще все. Как жить дальше?
Удалите файл C:\PABCWork.NET__RedirectIOMode.pcu
@Lucky_Man кроме скриншота нужно публиковать полный текст, чтобы можно было проверить (включая SumLengths
).
Да, это ошибка в PCU. Будем исправлять. Пока:
Должно работать
Ошибка исправлена. Новая версия - на сайте.