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

Вниз

TFrame: класс TDATETIMEFIELD не найден   Найти похожие ветки 

 
Rav   (2006-07-23 23:03) [0]

Доброго времени суток!

Раньше фреймы не использовал, но надоело повторять меню, кнопки, фильтры на каждой форме. Короче приспичило подвести фреймы под это дело. Сделал TFrame, на котором TAdoQuery, DbGrid... ну и там всего по мелочи. Все настроил, вроде бы ок. Кидаю этот фрейм на форму. Добавляю поля и текст запроса в TAdoQuery, столбцы в DbGrid. Запускаю - и получаю ошибку "Класс TDATETIMEFIELD не найден". Я так понимаю, ругается как раз фрейм, ясно дело, там такого поля еще и нет, я его в форме определил. Но как теперь выкрутится?
Вдогонку еще вопрос: можно ли на фрейм в форме накидать компонентов? (конкретно: если я в фрейме поместил панель, на которой показываются данные из таблицы - TDbText, но поскольку таблицы бывают разные, хотелось бы в форме на эту панель (которая включена во фрейм) накидать этих самых TDbText).


 
DrPass ©   (2006-07-23 23:14) [1]

думаю, не хватает
uses DB в модуле с фреймом


 
jack128 ©   (2006-07-23 23:15) [2]

Rav   (23.07.06 23:03)
Раньше фреймы не использовал, но надоело повторять меню, кнопки, фильтры на каждой форме. Короче приспичило подвести фреймы под это дело. Сделал TFrame, на котором TAdoQuery, DbGrid... ну и там всего по мелочи. Все настроил, вроде бы ок. Кидаю этот фрейм на форму. Добавляю поля и текст запроса в TAdoQuery, столбцы в DbGrid. Запускаю - и получаю ошибку "Класс TDATETIMEFIELD не найден". Я так понимаю, ругается как раз фрейм, ясно дело, там такого поля еще и нет, я его в форме определил. Но как теперь выкрутится?

кидай минимально возможные сорцы, которые воспроизводят глюк.
Rav   (23.07.06 23:03)
Вдогонку еще вопрос: можно ли на фрейм в форме накидать компонентов?

можно.


 
Rav   (2006-07-23 23:23) [3]


> DrPass
> думаю, не хватает
> uses DB в модуле с фреймом

Есть он там - unit DbGridFrame;
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ToolWin, ComCtrls, Grids, DBGrids, DBCtrls, RXDBCtrl, ActnList, Menus, Db,   ADODB,
 RavDbCustom, RavDbGridTuner, RavDbFind, RavDbOrder, RavDbFilter, DBActns,
 RavDbColorGrid;


 
Rav   (2006-07-23 23:36) [4]

В
> кидай минимально возможные сорцы, которые воспроизводят
> глюк.

Иерархия такова: FrameDbGrid - TADOQuery + TDataSource + TDbGrid (+ мои компоненты: фильтр, сортировка, поиск, настройка полей). Его вставляю в FrameTable - Там все это "обвязываю" меню, панелью TToolBar, TStatusBar, а также добавляю TPanel для вывода детализированных сведений записи. FrameTable уже вставляю в форму TFormChFio и определяю поля. (В FrameDbGrid TAdoQuery "девственно чист" - полей в нем нет).
При попытке создать экземпляр формы - ошибка (метод OnCreate формы даже не вызывается, значит глюк где-то на уровне HistViewer := TFormChFio.Create(Application.MainForm);).


> можно.

не получается :-( вставляемые компоненты "проваливаются" на форму, за TFrame, соответственно за панель. Как воткнуть в фреймовую панель - пока не понимаю...

Вот как опеделен "первичный" фрейм:

 TFrameDbGrid = class(TFrame)
   ActionList: TActionList;
   DbGridPopupMenu: TPopupMenu;
   Query: TADOQuery;
   DataSource: TDataSource;
   DbGrid: TRDbStyledGrid;
   RDbFilter: TRDbFilter;
   RDbOrder: TRDbOrder;
   RDbFind: TRDbFind;
   RDbGridTuner: TRDbGridTuner;
   DataSetFirst: TDataSetFirst;
   DataSetLast: TDataSetLast;
   DataSetNext: TDataSetNext;
   DataSetPrior: TDataSetPrior;
   itemDataSetFirstP: TMenuItem;
   itemDataSetPriorP: TMenuItem;
   itemDataSetNextP: TMenuItem;
   itemDataSetLastP: TMenuItem;
   FindRecord: TAction;
   FilterUser: TAction;
   FilterDefault: TAction;
   FilterClear: TAction;
   SortUser: TAction;
   SortDefault: TAction;
   ColumnsUser: TAction;
   ColumnsDefault: TAction;
   menuDataP: TMenuItem;
   itemFindRecordP: TMenuItem;
   itemFilterUserP: TMenuItem;
   itemFilterDefaultP: TMenuItem;
   itemFilterClearP: TMenuItem;
   itemSortUserP: TMenuItem;
   itemSortDefaultP: TMenuItem;
   itemColumnsUserP: TMenuItem;
   itemColumnsDefaultP: TMenuItem;
   divN1: TMenuItem;
   divN2: TMenuItem;
   divN3: TMenuItem;
   divN4: TMenuItem;
   divN5: TMenuItem;
   divN6: TMenuItem;
   InsertRecord: TAction;
   EditRecord: TAction;
   DeleteRecord: TAction;
   itemInsertRecordP: TMenuItem;
   itemEditRecordP: TMenuItem;
   itemDeleteRecordP: TMenuItem;
   ExportExcel: TAction;
   menuReportsP: TMenuItem;
   itemExportExcelP: TMenuItem;
   DataSetRefresh: TAction;
   itemDataSetRefreshP: TMenuItem;
   procedure PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);
   procedure DeleteError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction);
   procedure InsertRecordUpdate(Sender: TObject);
   procedure InsertRecordExecute(Sender: TObject);
   procedure EditRecordUpdate(Sender: TObject);
   procedure EditRecordExecute(Sender: TObject);
   procedure DeleteRecordUpdate(Sender: TObject);
   procedure DeleteRecordExecute(Sender: TObject);
   procedure ExportExcelUpdate(Sender: TObject);
   procedure ExportExcelExecute(Sender: TObject);
   procedure InterlalOnChange(DataSet: TDataSet);
   procedure FindRecordUpdate(Sender: TObject);
   procedure FindRecordExecute(Sender: TObject);
   procedure FilterUserUpdate(Sender: TObject);
   procedure FilterUserExecute(Sender: TObject);
   procedure FilterDefaultUpdate(Sender: TObject);
   procedure FilterDefaultExecute(Sender: TObject);
   procedure FilterClearUpdate(Sender: TObject);
   procedure FilterClearExecute(Sender: TObject);
   procedure SortUserUpdate(Sender: TObject);
   procedure SortUserExecute(Sender: TObject);
   procedure SortDefaultUpdate(Sender: TObject);
   procedure SortDefaultExecute(Sender: TObject);
   procedure ColumnsUserUpdate(Sender: TObject);
   procedure ColumnsUserExecute(Sender: TObject);
   procedure ColumnsDefaultUpdate(Sender: TObject);
   procedure ColumnsDefaultExecute(Sender: TObject);
   procedure DataSetRefreshUpdate(Sender: TObject);
   procedure DataSetRefreshExecute(Sender: TObject);
 private
   FFlagEdit: Boolean;
   FSelectQuery: string;
   FBaseFilter: string;
   FOnDataChange: TNotifyEvent;
   FOnDataEdit: TDataSetShowEditorNotifyEvent;
   FOnBeforeInsert: TDataSetNotifyEvent;
   FOnBeforeEdit: TDataSetNotifyEvent;
   FOnBeforeDelete: TDataSetNotifyEvent;
   FOnAfterInsert: TDataSetNotifyEvent;
   FOnAfterEdit: TDataSetNotifyEvent;
   FOnAfterDelete: TDataSetNotifyEvent;
   FOnBeforeInsertPost: TDataSetNotifyEvent;
   FOnBeforeEditPost: TDataSetNotifyEvent;
   FOnAfterInsertPost: TDataSetNotifyEvent;
   FOnAfterEditPost: TDataSetNotifyEvent;
   FOnExportExcel: TDataSetNotifyEvent;
   procedure InitEvents;
 public
   procedure InitFrame(const AEditEnable: Boolean);
   procedure DoneFrame;
   procedure LoadTable(const SelectQuery, BaseFilter: string);
   procedure ReloadTable;
   function  ShowRecordEditor: Boolean;
   function  GetTableInfo: string;
 published
   property EditEnable: Boolean read FFlagEdit write FFlagEdit default False;
   property OnDataChange: TNotifyEvent read FOnDataChange write FOnDataChange;
   property OnDataEdit: TDataSetShowEditorNotifyEvent read FOnDataEdit write FOnDataEdit;
   property OnBeforeInsert: TDataSetNotifyEvent read FOnBeforeInsert write FOnBeforeInsert;
   property OnBeforeEdit: TDataSetNotifyEvent read FOnBeforeEdit write FOnBeforeEdit;
   property OnBeforeDelete: TDataSetNotifyEvent read FOnBeforeDelete write FOnBeforeDelete;
   property OnAfterInsert: TDataSetNotifyEvent read FOnAfterInsert write FOnAfterInsert;
   property OnAfterEdit: TDataSetNotifyEvent read FOnAfterEdit write FOnAfterEdit;
   property OnAfterDelete: TDataSetNotifyEvent read FOnAfterDelete write FOnAfterDelete;
   property OnBeforeInsertPost: TDataSetNotifyEvent read FOnBeforeInsertPost write FOnBeforeInsertPost;
   property OnBeforeEditPost: TDataSetNotifyEvent read FOnBeforeEditPost write FOnBeforeEditPost;
   property OnAfterInsertPost: TDataSetNotifyEvent read FOnAfterInsertPost write FOnAfterInsertPost;
   property OnAfterEditPost: TDataSetNotifyEvent read FOnAfterEditPost write FOnAfterEditPost;
   property OnExportExcel: TDataSetNotifyEvent read FOnExportExcel write FOnExportExcel;
 end;



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

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

Наверх




Память: 0.5 MB
Время: 0.062 c
2-1153851461
Adios
2006-07-25 22:17
2006.08.13
как сделать чтобы рисунок не мерцал?


15-1152882155
Ketmar
2006-07-14 17:02
2006.08.13
RSDN требует MS Word для статей


9-1133097035
Полный нуль
2005-11-27 16:10
2006.08.13
Помогите плиз c 3d max`ом


15-1151925090
Stanislav
2006-07-03 15:11
2006.08.13
Авторизация на сайте


2-1153902019
VitV
2006-07-26 12:20
2006.08.13
invalid class typecast