Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ПодКласс Компоненты 
:(
    Опции темы
mniip
Дата 11.5.2011, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



У меня есть компонент в котором есть подкласс TGrid.
Код

  TGrid=class
        private
         FRepeatX,FRepeatY:Word;
         FColorX,FColorY:TColor;
         FFirstX:boolean;
         Owner:TCustomControl;
        published
         constructor Create(AOwner:TComponent);virtual;
         procedure SetRepeatX(v:Word);
         procedure SetRepeatY(v:Word);
         procedure SetColorX(v:TColor);
         procedure SetColorY(v:TColor);
         procedure SetFirstX(v:boolean);
        public
         property RepeatX:Word read FRepeatX write SetRepeatX default 1;
         property RepeatY:Word read FRepeatY write SetRepeatY default 1;
         property ColorX:TColor read FColorX write SetColorX default $000000;
         property ColorY:TColor read FColorY write SetColorY default $000000;
         property FirstX:boolean read FFirstX write SetFirstX default false;
        end;


в компоненте есть property TMainGrid:TGrid read FMainGrid write SetMainGrid;

В процедуре SetMainGrid пишу
Код

procedure TImageGrid.SetMainGrid(v:TGrid);
begin
 if (v.RepeatX<>FMainGrid.RepeatX) //repeatx - property а не поле
 or(v.RepeatY<>FMainGrid.RepeatY) //аналогично
 or(v.ColorX<>FMainGrid.ColorX)
 or(v.ColorY<>FMainGrid.ColorY)
 or(v.FirstX<>FMainGrid.FirstX) then
 bedun
  FMainGrid:=v;
  Invalidate;
 end;
end;


Во всяких действах с комопонентом связанных вылетает Access Viloation

потрейсил, ошибка в том составном условии.
Убрал условие.
Теперь в Инспекторе Компонентов на MainGrid ругается Cannot expand

в чем дело?

текущий full код
P.S жутко извиняюсь за парсинг строки для TRulers
В TGrid вначале тоже так было. но потом я подумал что Пошло оно все на и (см начало)
PM MAIL   Вверх
kami
Дата 12.5.2011, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(mniip @  11.5.2011,  21:01 Найти цитируемый пост)
Во всяких действах с комопонентом связанных вылетает Access Viloation

(FMainGrid<>nil) and (v<>nil) ?
PM MAIL WWW   Вверх
mniip
Дата 12.5.2011, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Не помогло
Код

procedure TImageGrid.SetMainGrid(v:TGrid);
begin
 if (FMainGrid<>nil)and(v<>nil) then
  if (FMainGrid.RepeatX<>v.RepeatX)
   or(FMainGrid.RepeatY<>v.RepeatY)
   or(FMainGrid.ColorX<>v.ColorX)
   or(FMainGrid.ColorY<>v.ColorY)
   or(FMainGrid.FirstX<>v.FirstX) then
  begin
   FMainGrid:=v;
   Invalidate;
  end;
end;

PM MAIL   Вверх
mniip
Дата 12.5.2011, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Все! нашел!
Код

constructor TImageGrid.Create(AOwner:TComponent);
var i:byte;
begin
 inherited Create(AOwner);
 FMainGrid:=TGrid.Create(Self); //было MainGrid - свойство - SetMainGrid, который предпологает что они не nil но мы их только сейчас CREATEим
 FSecGrid:=TGrid.Create(Self);
 for i:=0 to 255 do FLegend[i].Image:=TGraphic.Create;
end;


Добавлено через 3 минуты и 9 секунд
Но все равно Cannot Expand
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.