Ошибка при компиляции

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Darxan
незнакомец
Сообщения: 5
Зарегистрирован: 04.02.2020 09:27:07

Ошибка при компиляции

Сообщение Darxan »

Добрый день!
При компиляции выдает такую ошибку:
Compile package LazUtils 1.0: Exit code 1, Errors: 2
lazlogger.pas(277,11) Error: identifier idents no member "Queue"
lazlogger.pas(298,11) Error: identifier idents no member "Queue"
Как решить?
код во вложенном файле. Сильно не пинайте я новичок в по программированию
У вас нет необходимых прав для просмотра вложений в этом сообщении.
DedFrend
постоялец
Сообщения: 157
Зарегистрирован: 25.11.2018 11:21:50

Сообщение DedFrend »

Ну нет у класса TThread свойства Queue
iskander
энтузиаст
Сообщения: 627
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

DedFrend писал(а):Ну нет у класса TThread свойства Queue

В текущем релизе 3.0.4 конечно же есть:
Reference for package rtl писал(а):...
class procedure TThread.Queue(aThread: TThread;aMethod: TThreadMethod);

Description

Queue schedules a method aMethod for execution in the main thread. In difference with TThread.Synchronize, Queue just posts the method for execution in a queue, and does not wait for it to be executed, so this call returns at once.
In the class procedure overloaded version of this call, the thread for which the method must be posted is the first argument.
...
When a thread object is destroyed (after it has finished executing) all its queued calls are removed from the queue list.

Не хватает подробностей что, где и чем компилировалось.
Darxan
незнакомец
Сообщения: 5
Зарегистрирован: 04.02.2020 09:27:07

Сообщение Darxan »

iskander писал(а):
DedFrend писал(а):Ну нет у класса TThread свойства Queue

В текущем релизе 3.0.4 конечно же есть:
Reference for package rtl писал(а):...
class procedure TThread.Queue(aThread: TThread;aMethod: TThreadMethod);

Description

Queue schedules a method aMethod for execution in the main thread. In difference with TThread.Synchronize, Queue just posts the method for execution in a queue, and does not wait for it to be executed, so this call returns at once.
In the class procedure overloaded version of this call, the thread for which the method must be posted is the first argument.
...
When a thread object is destroyed (after it has finished executing) all its queued calls are removed from the queue list.

Не хватает подробностей что, где и чем компилировалось.

Спасибо что отозвались. До этого стояло старая версия Лазаруса. Удалил программу через панель управление. Виндоус 10 64бит. Пользователь не админ. Установка и удаление проводился через Администратор. Это школьные копмьютеры.

Добавлено спустя 3 минуты 29 секунд:
Подскажите как правильно удалить Лазарус чтобы хвосты не остались?
И для Виндоус 10(1909) 64бит лучше какую версию какую разрядность Лазаруса поставить?
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Darxan писал(а):Подскажите как правильно удалить Лазарус чтобы хвосты не остались?

Наверное в папке пользователя (c:\users\Пользователь\appdata\) остался конфигурационный файл старого Лазаруса. Поищите там папку "lazarus" и удалите целиком.
Darxan писал(а):И для Виндоус 10(1909) 64бит лучше какую версию какую разрядность Лазаруса поставить?

Какую хотите. Главное, чтобы она на вид и на ощупь работала. :-) Версия Лазаруса выше 2.0, естественно, свежачок... ;-)
iskander
энтузиаст
Сообщения: 627
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

Vadim писал(а):Наверное в папке пользователя (c:\users\Пользователь\appdata\)

Если точнее c:\users\Пользователь\appdata\local\.
Ну и вроде в инсталляторе 2.0.6 даже галка есть - удалить остатки предыдущих установок.
Интересный момент из LazLogger.txt: "Start of reading config file C:\FPC\2.6.4\bin\i386-Win32\fpc.cfg". Есть еще отдельная установка fpc?
Darxan
незнакомец
Сообщения: 5
Зарегистрирован: 04.02.2020 09:27:07

Сообщение Darxan »

Интересный момент из LazLogger.txt: "Start of reading config file C:FPC2.6.4bini386-Win32fpc.cfg". Есть еще отдельная установка fpc?

Еще у нас установлен freePascal. Может Лазарус при компиляции ссылается на ФриПаскаль? такое может быть?

Добавлено спустя 9 минут 13 секунд:
В этой папке C:\FPC\2.6.4\bin\i386-Win32\fpc.cfg установлен Freepascal
iskander
энтузиаст
Сообщения: 627
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

Раньше установщик FPC добавлял путь к себе любимому в переменную PATH, возможно в этом проблема.
При первом запуске свежеустановленный Lazarus показывает окошко с информацией, где он собирается брать компилятор, отладчик и тд. При желании можно эти пути изменить. В любом случае все эти настройки можно увидеть и изменить в меню Сервис/Параметры/Окружение/Файлы(Tools/Options/Environment/Files).
Darxan
незнакомец
Сообщения: 5
Зарегистрирован: 04.02.2020 09:27:07

Сообщение Darxan »

Удалил с системы Freepascal. После этого Лазарус начал компилировать. Значит Лазарус с фрипасклем конфликтует?
Аватара пользователя
zoltanleo
постоялец
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Сообщение zoltanleo »

Darxan писал(а): Значит Лазарус с фрипасклем конфликтует?

Лазарь использует фрипаскаль. Конфликтуют чаще всего разные версии самого FP из-за неправильной настройки IDE. См. их, как ранее подсказали, в Сервис/Параметры/Окружение/Файлы(Tools/Options/Environment/Files). Каталог с исходниками и экзешники компилятора (папка /bin/...) должны быть из одной версии FPC
Darxan
незнакомец
Сообщения: 5
Зарегистрирован: 04.02.2020 09:27:07

Сообщение Darxan »

Спасибо всем. Вопрос решили.
Ответить