Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 441

•  TDictionary Custom Sort  6 471

•  Fast Watermark Sources  6 262

•  3D Designer  9 215

•  Sik Screen Capture  6 599

•  Patch Maker  6 986

•  Айболит (remote control)  6 985

•  ListBox Drag & Drop  5 858

•  Доска для игры Реверси  97 004

•  Графические эффекты  7 187

•  Рисование по маске  6 482

•  Перетаскивание изображений  5 350

•  Canvas Drawing  5 726

•  Рисование Луны  5 441

•  Поворот изображения  4 970

•  Рисование стержней  3 532

•  Paint on Shape  2 799

•  Генератор кроссвордов  3 666

•  Головоломка Paletto  2 953

•  Теорема Монжа об окружностях  3 761

•  Пазл Numbrix  2 479

•  Заборы и коммивояжеры  3 165

•  Игра HIP  2 128

•  Игра Go (Го)  2 060

•  Симулятор лифта  2 425

•  Программа укладки плитки  2 108

•  Генератор лабиринта  2 570

•  Проверка числового ввода  2 259

•  HEX View  2 586

•  Физический маятник  2 200

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Создание компонента TTable без формы 4



Я привожу некоторый код, касающийся описываемой проблемы: он работал, когда я использовал его в большом приложении. Я не знаю специфического метода создания компонента TTable вне родителей, поэтому я пошел путем создания своего класса от TTable во время инициализации модуля. Удобство такого подхода объясняется наличием под рукой всегда готового к работе экземпляра класса, стоит всего-лишь добавить модуль к вашему приложению. Конечно, новый класс не должен иметь одиноко выглядящую процедуру со странной технологией фильтрации данных :=))), да и не помешала бы публикация нескольких событий, но этот пример призван все-го лишь продемонстрировать иной подход к решаемой задаче.


unit Unit2;

interface
uses db, DBTables, dialogs;

type
  fake = class(Ttable)
    procedure fakeFilterRecord(DataSet: TDataSet; var Accept: Boolean);
  end;

var
  MyTable: fake;

implementation

procedure fake.fakeFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
  showmessage('Здравствуй, Вася');
end;

initialization

  MyTable := fake.create(nil);
  with Mytable do
  begin
    DataBaseName := 'dbdemos';
    TableName := 'biolife';
    OnFilterRecord := MyTable.fakeFilterRecord;
    Filtered := true;
    active := true;
  end;

  {проверка получением неких данных...}
  showmessage(MyTable.fields[1].asstring);

finalization
  {Важно!  MyTable не имеет родителя, - уничтожаем объект сами,
  иначе память не высвобождается...}
  MyTable.free;

end.





Похожие по теме исходники

Создание таблиц в Paradox

Расширение компонента TEdit

База данных без BDE

БД без BDE

 

Кривая Безье

Bezier Curves (кривые Безье)

Splay Line (Безье)

Сплайн на 8 точек (Безье)

 

Text Bezier Curve (Безье)

Кривые Безье на OpenGL




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте