Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

Ошибка при присваивании значения переменной класса   Найти похожие ветки 

 
Dmitry   (2008-04-16 21:11) [0]

Помогите разобрать почему возникает ошибка при присваивании переменной класса (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;


 
Сергей М,   (2008-04-16 21:13) [1]


> переменной класса (F


> B := True { ОШИБКА ПОЯВЛЯЕТСЯ ЗДЕСЬ }


Хня какая-то)...


 
Leonid Troyanovsky ©   (2008-04-16 21:24) [2]


> Dmitry   (16.04.08 21:11)  

> Помогите разобрать почему возникает ошибка при присваивании
> переменной класса

Создавать экземпляр оного класса будет Пушкин?

--
Regards, LVT.


 
Palladin ©   (2008-04-16 21:26) [3]

да почему сразу это растение :) камрад овощь просто не создал объект :)

там еще и точки с запятой нет...


 
Сергей М,   (2008-04-16 21:39) [4]


> почему сразу это растение


Ну как почему ?
Ты вчитайся в траву-то эту - в вопросе F:Boolean, а в тексте комментарий об ошибке стоит в строчке, где оной и не пахнет, зато курится совсем другая переменная - B:Boolean

))


 
Германн ©   (2008-04-16 21:43) [5]


> Ты вчитайся в траву-то эту

Предупреждать заранее надо, что это вредно для здоровья.


 
Palladin ©   (2008-04-16 21:54) [6]


>Сергей М, (16.04.08 21:39) [4]

а ить верно :)
экран маленький, сразу все не углядеть...


 
Сергей М,   (2008-04-16 22:00) [7]

Вот приедет барин - барин нас покурит)


 
Сергей М,   (2008-04-16 22:03) [8]

А барином, как прозорливо протелепатил ув. LT, вполне вероятно может оказаться и Пушкин)


 
Германн ©   (2008-04-17 00:28) [9]


> Сергей М,   (16.04.08 22:03) [8]
>
> А барином, как прозорливо протелепатил ув. LT, вполне вероятно
> может оказаться и Пушкин)
>

Вполне. Вот только каким образом
>  B := True { ОШИБКА ПОЯВЛЯЕТСЯ ЗДЕСЬ }

автор это узнал? На мой взгляд эта ошибка должна бы была появиться гораздо раньше.


 
ЮЮ ©   (2008-04-17 05:28) [10]

> На мой взгляд эта ошибка должна бы была появиться гораздо
> раньше.

Куда уж раньше то?
при таком использовании

 TNieL_Tree.LLastConf("a.txt", Anvil_TreeView1);

именно таи и появится, ибо B - не преременная класса, а приватное поле экземпляра класса, а экземпляр не создан.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
3-1197113218
prisoner849
2007-12-08 14:26
2008.05.18
Запрос в MS Access


2-1208759834
Виктор
2008-04-21 10:37
2008.05.18
МАС-адресса


2-1208615940
ply
2008-04-19 18:39
2008.05.18
как запретить изменение размера окна?


15-1207547497
Slider007
2008-04-07 09:51
2008.05.18
С днем рождения ! 7 апреля 2008 понедельник


15-1207069375
TIF
2008-04-01 21:02
2008.05.18
1 апреля - ФИНАЛ БЛИЗОК... Включите "Время" на Первом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский