Странная ситуация наблюдается.
Есть паралельно в соседние папки установленные Lazarus 2.0.8, 2.2.6 и недавно поставил посмотреть что нового 4.2.0
В целом работают нормально.
Но недавно открыл один старый проект случайно не в 2.0.8, а в 2.2.6
При компиляции он зачем-то подтягивает модуль IdHL7 (в проекте его не использую) и выдает ошибку
Код: Выделить всё
IdHL7.pas(935,7) Error: Incompatible type for arg no. 2: Got "Class Of IIdQueuedMessage", expected "TClass"
Код: Выделить всё
procedure TIdHL7.PreStop;
procedure JoltList(list: TInterfaceList);
var
i: Integer;
begin
for i := 0 to list.Count - 1 do
begin
==>> IIdQueuedMessage(list[i]).SetEvent;
end;
end;
...
2.0.8 установлен indylaz.lpk 10.6.2.5451
2.2.6 установлен indylaz.lpk 10.6.3.11 (обновил через сетевой диспетчер пакетов надеясь исправить ошибку. Какая версия была до этого не помню, может быть такая же 10.6.2.** но на ней тоже ошибка воспроизводилась)
-----------
Вот что не понятно.
1. Зачем подтягивается модуль IdHL7 в версии 2.2.6 если он был не нужен в 2.0.8?
2. какая методика в Lazarus для вычисления что именно использует этот модуль и классы из него. Как это определить?
3. И что можно сделать с этой ошибкой?
