![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите разобрать почему возникает ошибка при присваивании переменной класса (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 Последний раз редактировалось Admin, 16.04.2008 в 21:18. |
|
#2
|
|||
|
|||
|
Синтаксис проверь..Хотя могу и ошибаться..Delphi загружать лень=)
Код:
B:=True{ОШИБКА ПОЯВЛЯЕТСЯ ЗДЕСЬ};Либо переменную не там объявил. Опиши её не в private а в public Последний раз редактировалось Кодер, 16.04.2008 в 23:55. |
|
#3
|
||||
|
||||
|
NeiL, а вы уверены что ошибка именно тут? Пройдитесь дебагером по процедуре. И да, а сам обьект то проинициализировали перед использованием?
|
|
#4
|
|||
|
|||
|
Пройдись вообще - пошагово откомпиль
|