Помогите разобрать почему возникает ошибка при присваивании переменной класса (F: Boolean) какого-либо значения (Project Test.exe raised exception class EAccessViolation with message 'Access violation at address 004FD000 in module 'Test.exe').
Вот код:
Код:
unit NieL_Tree;
interface
uses
SysUtils, Classes, anvil_Nodes, anvil_Objs, StdCtrls;
type
TNieL_Tree = class(TObject)
private
B: Boolean;
public
procedure LLastConf(
FileName: String; Ctrl: Tanvil_TreeView);
end;
implementation
{ TNieL_Tree }
procedure TNieL_Tree.LLastConf(FileName: String; Ctrl: Tanvil_TreeView);
var
L: TIntegerList;
F: TFileStream;
Cur: TTreeItem;
i: Integer;
begin
B := True { ОШИБКА ПОЯВЛЯЕТСЯ ЗДЕСЬ }
if FileExists(FileName) then
begin
F := TFileStream.Create(FileName, fmOpenRead);
try
if F.Size > 0 then
begin
L := TIntegerList.Create;
try
L.Read(F);
Cur := Ctrl.Items[0];
repeat
Cur := Cur.Next;
for i := 0 to L.Count - 1 do
if Cur.Tag = L[i] then
begin
Cur.CheckState := cbChecked;
if Cur.CheckState <> Cur.Parent.CheckState then
ClickItem(Ctrl, Cur);
end;
until
Cur = Ctrl.Items.GetLast;
finally
L.Free;
end;
end else
DefaultItemChecked(
Ctrl, cbChecked);
finally
F.Free;
end;
end else
DefaultItemChecked(
Ctrl, cbChecked);
end;
Admin: http://www.delphisources.ru/forum/mi...do=bbcode#code