Главная страница
    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.046 c
2-1208127399
HF-Trade
2008-04-14 02:56
2008.05.18
Размер файла в сети


2-1208326305
Mishenka
2008-04-16 10:11
2008.05.18
Как в TEdit определить в какой позиции находится курсор?


2-1208427799
Виктор
2008-04-17 14:23
2008.05.18
Возможно ли проверить является окно модальным или нет?


2-1208719740
worldmen
2008-04-20 23:29
2008.05.18
Загрузить с ini файла в переменную имена всех ключей


2-1208498108
webSQLNeederr
2008-04-18 09:55
2008.05.18
Как увидеть из подфункции переменную из высшей функции?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский