Не компилируются программы с 2.7.1
Добавлено: 01.02.2014 02:46:42
Попробовал обновить компилятор с 2.6.2 до 2.7.1. Собирал из исходников и готовый вариант откомпилированный скачивал компилятора. Все время одна и та же проблема, модули связанные с Forms не компилируются. Лог ниже. Под 2.6.2 без проблем, под 2.7.1 не моя программа не пересборка лазаруса не проходят.
Действие "Компиляция пакета FCL 1.0.1" завершено
...
C:\Lazarus\components\lazutils\winfileutil.inc(179,62) Hint: Local variable "FindData" does not seem to be initialized
C:\Lazarus\components\lazutils\winfileutil.inc(200,62) Hint: Local variable "FindData" does not seem to be initialized
C:\Lazarus\components\lazutils\winfileutil.inc(225,50) Hint: Local variable "lft" does not seem to be initialized
C:\Lazarus\components\lazutils\winfileutil.inc(304,76) Hint: Local variable "find" does not seem to be initialized
C:\Lazarus\components\lazutils\winfileutil.inc(311,37) Error: Call by var for arg no. 2 has to match exactly: Got "WIN32_FIND_DATAW" expected "WIN32_FIND_DATAA"
C:\Lazarus\components\lazutils\winfileutil.inc(263,11) Hint: Found declaration: FindWideToAnsi(const WIN32_FIND_DATAW;var WIN32_FIND_DATAA);
C:\Lazarus\components\lazutils\winfileutil.inc(331,41) Hint: Local variable "wide" does not seem to be initialized
C:\Lazarus\components\lazutils\winfileutil.inc(333,39) Error: Call by var for arg no. 2 has to match exactly: Got "WIN32_FIND_DATAW" expected "WIN32_FIND_DATAA"
C:\Lazarus\components\lazutils\winfileutil.inc(263,11) Hint: Found declaration: FindWideToAnsi(const WIN32_FIND_DATAW;var WIN32_FIND_DATAA);
C:\Lazarus\components\lazutils\fileutil.pas(253) Fatal: There were 2 errors compiling module, stopping
- Код: Выделить всё
function FindFirstWide(const Path: string; Attr: Longint; out Rslt: TSearchRec): Longint;
var
find : TWIN32FINDDATAW;
begin
Rslt.Name:=Path;
Rslt.Attr:=attr;
Rslt.ExcludeAttr:=(not Attr) and ($1e);
{ $1e = faHidden or faSysFile or faVolumeID or faDirectory }
{ FindFirstFile is a Win32 Call }
Rslt.FindHandle:=Windows.FindFirstFileW( PWideChar(UTF8Decode(Path)),find);
If Rslt.FindHandle=Invalid_Handle_value then
begin
Result:=GetLastError;
Exit;
end;
{ Find file with correct attribute }
[b] FindWideToAnsi(find, Rslt.FindData);[/b]
Result:=FindMatch(Rslt);
end;