Главная страница
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.48 MB
Время: 0.023 c
14-1081648147
_Павел
2004-04-11 05:49
2004.05.02
Install Shield


14-1081191836
Yanis
2004-04-05 23:03
2004.05.02
У кого нибудь работает Soft ICE под WinXP?


11-1066374154
Ал
2003-10-17 11:02
2004.05.02
KOLTrayIcon не может корректно отобразить 256-цветную ico в tray


7-1078887783
Максим
2004-03-10 06:03
2004.05.02
COM порты


4-1079030059
BaDeVlad
2004-03-11 21:34
2004.05.02
Как сделать многоуровневую отмену в Richedit?