![]() |
![]() |
Altair |
![]() ![]()
Сообщение
#1
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Компилирую программу:
program testthreads;
{$mode objfpc}
uses
sysutils,
classes;
type
TMyThread=class(TThread)
private
ch : char;
protected
procedure Execute; override;
public
constructor Create(c:char);
end;
procedure TMyThread.Execute;
begin
repeat
write(ch);
until Terminated;
end;
constructor TMyThread.Create(c:char);
begin
ch:=c;
inherited Create(false);
end;
var
t1,t2 : TMyThread;
begin
t1:=TMyThread.Create('a');
t2:=TMyThread.Create('b');
readln;
t2.Terminate;
readln;
t1.Terminate;
readln;
t2.Destroy;
t1.Destroy;
end.
При запуске секунды 3-4 работает как надо, потом ошибка Error, DISC FULL И вылетает. Компилятор FPC. То-же самое делаю на Delphi, все идеально! + в FPC когда прога еще работает, если нажать на клавишу, то прога вылетит. ![]() почему? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Программа не работает... пробовал аналогично делать.
Найденный супер глюк: если написать {$mode objfpc}
uses ...
то при компиляции появиться ошибка: Error: Incompatible type for arg no. 1: Got VOID, expected <procedure variable type of procedure() of object;> а если
uses ...
{$mode objfpc}
То все отлично компилируется, но не работает (на экран ничего не выводится, при нажатии 3 раза Enter зависает) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 3:14 |