Найдено 5 результатов

vladgul
04.02.2023 16:28:03
Форум: Lazarus
Тема: Потоки. Синхронизация с основным потоком.
Ответы: 8
Просмотры: 5467

Re: Потоки. Синхронизация с основным потоком.

Если в основном потоке дошла очередь до обработки сообщения, а доп.поток, который это сообщение, уже умер, то в лучшем случае сообщение будет пустое, в худшем - словишь AV. Вот это внесло ясность. Спасибо.


Зы. Пугают меня всякие компоненты-посредники. Имхо, пишутся для лентяев, которым день ...
vladgul
01.02.2023 13:56:28
Форум: Lazarus
Тема: Потоки. Синхронизация с основным потоком.
Ответы: 8
Просмотры: 5467

Re: Потоки. Синхронизация с основным потоком.

Насколько я понимаю, работа с визуальными компонентами LCL должны производиться из основного потока, не думаю, что вызов Memo1.Lines.Add потокобезопасен
С этим как раз все в порядке
код

Procedure Proc1;
begin
Memo1.Lines.Add('1'); ... Memo1.Lines.Add('15');
end;
Работает в контексте основного ...
vladgul
29.01.2023 14:48:06
Форум: Lazarus
Тема: Потоки. Синхронизация с основным потоком.
Ответы: 8
Просмотры: 5467

Потоки. Синхронизация с основным потоком.

Нашел некоторую альтернативу TTask из Delphi для организации пула потоков.
Называется EZThreads (https://github.com/mr-highball/ezthreads)
Предварительно потестировал, в целом понравилось.
Но столкнулся с проблемой потери вызовов из очереди основного потока

В качестве тестового примера
В теле ...
vladgul
12.01.2023 13:23:55
Форум: Lazarus
Тема: Проблема с запуском Lazarus 2.2.4
Ответы: 11
Просмотры: 7752

Проблема с запуском Lazarus 2.2.4

Подскажите, кто знает, куда смотреть?
После обновления пакетов в системе перестал запусаться Lazarus версия 2.2.4
ОС Linux Mint DE Elsie под VMWare (можно, конечно откатиться в вируалке, но не хочется)
Запуск из терминала дает такие ошибки
test@linuxtest:~$ lazarus-ide
[FORMS.PP] ExceptionOccurred ...
vladgul
27.12.2022 18:07:03
Форум: Free Pascal Compiler
Тема: Проблема с русскими буквами в конструкции IN [....]
Ответы: 3
Просмотры: 6957

Проблема с русскими буквами в конструкции IN [....]

Прошу помощи,
есть конструкция из кода на Delphi
if S[Length(S)] in ['A'..'Z', 'a'..'z', 'А'..'Я', 'а'..'я', ' '] then

Lazarus при компиляции ругается на 'A' русскую
CTCV.pas(2657,43) Error: Incompatible types: got "WideChar" expected "Char"
но попытка привести S[Length(S)] и к WideChar и даже к ...