![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пытаешься поместить его на форму выдает ошибку, [D7, Win2k]
givs © (2007-01-29 05:53:00)Было две сетки.
Написан компонент потомок компилируется, устанавливается, но вот когда пытаешься поместить его на форму выдает ошибку,
причём с 000000 т.е. как бы он есть, но не создан в памяти...
Как быть?
givs (2007-01-30 05:10:00) [1]но он не берёт, т.к. при помещение его на форму он выдаёт ошибку...
причём с нулями, т.е. объект не создан...
Amoeba (2007-01-29 15:34:00) [2]
> givs © (29.01.07 12:58) [12]
>
> Понял, другой вопрос дизайн тайм пакет откуда будет брать
> от предка?
Если не создавал своих редакторов свойств, то достаточно от предка.
givs (2007-01-29 12:58:00) [3]Понял, другой вопрос дизайн тайм пакет откуда будет брать от предка?
Amoeba (2007-01-29 12:16:00) [4]
> givs © (29.01.07 11:23) [9]
>
> :-) ну не ругайте меня, я просто не опытный, научите лучше.
> ..
> Constructor Creat;
>
> givs © (29.01.07 11:24) [10]
>
> constructor TDBGridEhvti21.Creat;
> begin
> inherited;
> end;
>
1. Все же должно быть Create, а не Creat.
2. В объявлении конструктора отсутствует override.
3. Если в перекрытом конструкторе нового кода не добавляется, то не за чем его и перекрывать.
givs (2007-01-29 11:24:00) [5]constructor TDBGridEhvti21.Creat;
begin
inherited;
end;
givs (2007-01-29 11:23:00) [6]:-) ну не ругайте меня, я просто не опытный, научите лучше...
Constructor Creat;
DimaBr (2007-01-29 11:06:00) [7]
> Вызов происходит со старой сетки, но реализуется свойствами
> новой
Не заметил ни одного переопределённого метода, код конструктора в студию.
givs (2007-01-29 10:16:00) [8]Процедурину конструктора?
givs (2007-01-29 10:15:00) [9]Мне кажеться ошибка в том что ему как-то нужно указать какой дизайн тайм пакет брать, хотя он в компоненте родители есть и явным образом указан в новом пакете, но т.к. я просто не опытен мож вы мне поможете, а то замаялся совсем.... Книжек уже стопу прочитал, а добиться ничего не могу....
MBo (2007-01-29 10:13:00) [10]конструктор покажи
givs (2007-01-29 10:11:00) [11]Вот код...
Весь не влазет...
TDBGridEhvti21 = class(TDBGridEh)
private
{ Private declarations }
FBookmarks: TBookmarkList;
FAllowDelete: Boolean;
FOptions: TDBGridEhvtiOptions; //vti
FAllowInsert: Boolean; //vti
FUpdateLock: Byte;
FLayoutLock: Byte;
FColumns: TDBGridColumnsEh;
FHColor: TColor;
FHTColor: TColor;
FBeforeDropDown: TDBGridEhClickEvent;
FAfterCloseUp: TDBGridEhCloseUpEvent;
FOnCalcFieldEdited: TCalcFieldEditedEvent;
FOnDrawCellAttr: TDrawCellAttrEvent;
FOnDrawTitleAttr: TDrawTitleAttrEvent;
FOnColumnResized: TDBGridEhClickEvent;
FOnMultiSelect: TNotifyEvent;
FSpecialKey: TSpecialKeyDownEhEvent;
FRowsHeight: integer;
FTitleHeight: integer;
procedure SetColumns(Value: TDBGridColumnsEh);
procedure SetAllowDelete(const Value: Boolean);
procedure SetOptions(Value: TDBGridEhvtiOptions);
procedure SetAllowInsert(const Value: Boolean);
procedure SetHColor(const Value: TColor);
procedure SetHTColor(const Value: TColor);
procedure SetRowsHeight(const Value: integer);
procedure SetTitleHeight(const Value: integer);
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
property Align;
property SelectedRows: TBookmarkList read FBookmarks;
property AllowDelete: Boolean read FAllowDelete write SetAllowDelete default True;
property Options: TDBGridEhvtiOptions read FOptions write SetOptions
default [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColLines,
dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit];
procedure LayoutChanged; override;
function AcquireLayoutLock: Boolean;
procedure BeginLayout;
procedure BeginUpdate;
property Columns: TDBGridColumnsEh read FColumns write SetColumns;
property AllowInsert: Boolean read FAllowInsert write SetAllowInsert default True;
property Canvas;
property Anchors;
property BiDiMode;
property BorderStyle;
property Color;
property Constraints;
property Ctl3D;
property DataSource;
property DefaultDrawing;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property FixedColor;
property FixedCols;
property Font;
property HighlightColor: TColor read FHColor write SetHColor default clHighlight;
property HighlightTextColor: TColor read FHTColor write SetHTColor default
clHighlightText;
property ImeMode;
property ImeName;
property ParentBiDiMode;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property TabStop;
property TitleFont;
property Visible;
property BeforeDropDown: TDBGridEhClickEvent read FBeforeDropDown write
FBeforeDropDown;
property AfterCloseUpEvent: TDBGridEhCloseUpEvent read FAfterCloseUp write
FAfterCloseUp;
property OnCalcFieldEdited: TCalcFieldEditedEvent read FOnCalcFieldEdited //vti
write FOnCalcFieldEdited;
property OnCellClick;
property OnColEnter;
property OnColExit;
property OnColumnMoved;
property OnDrawColumnCell;
property OnDrawCellAttr: TDrawCellAttrEvent read FOnDrawCellAttr
write FOnDrawCellAttr;
property OnDrawTitleAttr: TDrawTitleAttrEvent read FOnDrawTitleAttr
write FOnDrawTitleAttr;
property OnColumnResized: TDBGridEhClickEvent read FOnColumnResized write
FOnColumnResized;
property OnMultiSelectChanged: TNotifyEvent read FOnMultiSelect write FOnMultiSelect;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEditButtonClick;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnSpecialKeyDown: TSpecialKeyDownEhEvent read FSpecialKey write
FSpecialKey;
property OnStartDock;
property OnStartDrag;
property OnTitleClick;
property RowsHeight: integer read FRowsHeight write SetRowsHeight default 0;
property TitleHeight: integer read FTitleHeight write SetTitleHeight default 0;
end;
DimaBr (2007-01-29 09:51:00) [12]Заремте новые методы (скорее всего ошибка в них) и попробуйте установить. Скорее всего забыли добавить inherited. Вообще, не мешало бы увидеть код, а то всё вилами по воде.
givs (2007-01-29 09:11:00) [13]А как мне узнать создался ли потомок, кстати вот с рантаймом, всё в поряде, проблема с дизайном.
>В каком месте проиходит ошибка?
Я же уже написал когда помещаещь компонент на форму...
>В чём отличие потомка от родителя ???
В дописании нескольких метод от другой сетки, и всё...
Вызов происходит со старой сетки, но реализуется свойствами новой...
DimaBr (2007-01-29 08:56:00) [14]Создаётся ли потомок в Run-Time ? В каком месте происходит ошибка ? В чём отличие потомка от родителя ???