Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Enumerated в объявлении объекта.   Найти похожие ветки 

 
Новенький   (2004-04-14 13:47) [0]

Мастера, прошу помощи! Как правильно объявить и использовать на чтение и запись поле Selection?

Имеем объявление:

type
 TMyTable = class(TObject)
   Columns: array of Integer;
   Records: array of Integer;
   ColumnsCount: Integer;
   RecordsCount: Integer;
   Selection: (gsNone,gsRecords,gsColumns,gsRegion);
 public
   constructor Create;
   destructor Destroy; override;
   procedure ClearAll;
   [..skip someting procedures..]
 end;

var MyTable: TMyTable;

constructor TMyTable.Create;
begin
Selection:=gsNone;
ColumnsCount:=0;
RecordsCount:=0;
end;

destructor TMyTable.Destroy;
begin
ClearAll;
inherited Destroy;
end;

При любом обращении к MyTable.Selection происходит access violation? Документации обчитался уже, всяко пробовал, работает только если поле Selection объявить отдельной переменной вне объекта, но я хочу, чтобы оно было именно внутри. Может кто знает чего не так? Помогите!


 
Семен Сорокин ©   (2004-04-14 13:51) [1]

type
 TGridSelection = (gsNone,gsRecords,gsColumns,gsRegion);

TMyTable = class(TObject)
  Columns: array of Integer;
  Records: array of Integer;
  ColumnsCount: Integer;
  RecordsCount: Integer;
  Selection: TGridSelection;
public
  constructor Create;
  destructor Destroy; override;
  procedure ClearAll;
  [..skip someting procedures..]
end;


 
Юрий Зотов ©   (2004-04-14 13:54) [2]

type
 TSelection = (gsNone, gsRecords, gsColumns, gsRegion);
 TMyTable = class(TObject)
 ...
   Selection: TSelection;
 ...
 end;


 
Новенький   (2004-04-14 14:10) [3]

Дык этот вариант я пробовал одним из самых первых!
Не работает!

Сейчас сделал совершенно новый пустой проект, где нет ничего кроме объявления этого объекта, кнопки и в обработчике стоит:

if MyTable.Selection=gsNone then MyTable.Selection:=gsRegion;

Компилируется без проблем, но при нажатии на кнопку - AS!


 
Юрий Зотов ©   (2004-04-14 14:44) [4]

Объект создан?


 
Новенький   (2004-04-14 15:32) [5]

О, спасибо, Юрий! Фраза "объект создан" натолкнула на правильную мысль. Оказалось, что обращение к MyTable.Selection шло при инициализации в одном из присоединенных units ранее, чем объект создавался в TMainForm.FormCreate.
Кстати, а мое объявление все же тоже работает. :)

type
TMyTable = class(TObject)
  ...
  Selection: (gsNone,gsRecords,gsColumns,gsRegion);
  ...
public



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 1.257 c
8-1075636239
Alexis
2004-02-01 14:50
2004.05.02
"подрагивание" изображения


14-1080761044
dilvish
2004-03-31 23:24
2004.05.02
Как написать веб-приложение для локальной сети???


3-1080810273
clickmaker
2004-04-01 13:04
2004.05.02
ADO->MIDAS->ClientDataSet не пашет фильтр по BooleanField


1-1082205529
Максим
2004-04-17 16:38
2004.05.02
Как сделать Zoom=100% в PrintPriview?


6-1078854133
Rezya
2004-03-09 20:42
2004.05.02
Сканирование портов