![]() |
![]() ![]() |
![]() |
Altair |
![]() ![]()
Сообщение
#1
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Компилирую программу:
При запуске секунды 3-4 работает как надо, потом ошибка Error, DISC FULL И вылетает. Компилятор FPC. То-же самое делаю на Delphi, все идеально! + в FPC когда прога еще работает, если нажать на клавишу, то прога вылетит. ![]() почему? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
вот отсюда можно скачать архив, с 2 прогами - одна на Дельфи 0 рабочая, другая глюченная на FPC.
http://pascal.dax.ru/forum/oleg_z/prog/thread.zip -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Oleg_Z
Попробуй использовать TThread.Synchronize: type |
Altair |
![]()
Сообщение
#4
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Программа не работает... пробовал аналогично делать.
Найденный супер глюк: если написать {$mode objfpc} то при компиляции появиться ошибка: Error: Incompatible type for arg no. 1: Got VOID, expected <procedure variable type of procedure() of object;> а если
То все отлично компилируется, но не работает (на экран ничего не выводится, при нажатии 3 раза Enter зависает) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
trminator |
![]()
Сообщение
#5
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Поддержка TThread.Synchronize заявлена как новая возможность в FPC 1.9.6... а у народа обычно 1.0.10...
Хотя в исходниках метод Synchronize есть. В общем, у меня такое чувство, что этот Synchronize как бы и не обязан работать... -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Altair |
![]()
Сообщение
#6
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
ставим после write(ch) delay(1) и все работет как часы, и при нажатии клавиш в том числе...
но медленно, следовательно цель не достигнута... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Altair |
![]()
Сообщение
#7
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Все, модернизировал пример, он работает.
Идея : проверять произошла ли ошика, если произошла, то процесс автоматически остановиться, а мы его заново создадим. uses Работает как часы хоть сутки. Обработка ReadLn тоже работает!!!! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Итоговый вариант:
(в предыдущем в следствии создания новых процессов все время размер памяти увеличивался занятый программой) заменить inherited Create(false); на Resume -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2024 15:35 |