powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Разные override для двух TDBGrid на одной форме
8 сообщений из 8, страница 1 из 1
Разные override для двух TDBGrid на одной форме
    #40086284
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть первый модуль-костыль
Код: pascal
1.
2.
3.
4.
5.
unit DBGrids1 ;
type
   TDBGrid = class ( DBGrids.TDBGrid )
   protected
      procedure N; override ;


На него смотрит первая форма с гридом
Код: pascal
1.
2.
3.
4.
uses DBGrids , DBGrids1 ;
type
   TForm1 = class(TForm)
      DBG1: TDBGrid;


Есть второй модуль-костыль
Код: pascal
1.
2.
3.
4.
5.
unit DBGrids2 ;
type
   TDBGrid = class ( DBGrids.TDBGrid )
   protected
      procedure M; override ;


На него смотрит вторая форма с гридом
Код: pascal
1.
2.
3.
4.
uses DBGrids , DBGrids2 ;
type
   TForm2 = class(TForm)
      DBG2: TDBGrid;


Понадобилось сделать форму с обоими гридами DBG1 и DBG2. Совместить модули DBGrids1 и DBGrids2 нельзя из-за слишком разной логики костылей. Какие наименьшие изменения помогут получить форму с двумя гридами с разным поведением? Не хочется делать DBGrids1 и DBGrids2 отдельными компонентами.
...
Рейтинг: 0 / 0
Разные override для двух TDBGrid на одной форме
    #40086288
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown,

количество костылей переросло в их главное качество: говнокод. и что-то с эти тебе придется делать.
...
Рейтинг: 0 / 0
Разные override для двух TDBGrid на одной форме
    #40086345
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown,

Кастовка к DBGrid1.DBG1.M() и DBGrid2.DBG2.M() не прокатывает?
...
Рейтинг: 0 / 0
Разные override для двух TDBGrid на одной форме
    #40086356
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создавать один из гридов динамически, сделав разные названия классов.
...
Рейтинг: 0 / 0
Разные override для двух TDBGrid на одной форме
    #40086366
northener
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
del
...
Рейтинг: 0 / 0
Разные override для двух TDBGrid на одной форме
    #40086381
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown
Есть первый модуль-костыль

Вы никогда не думали о харакири?

tunknown
Какие наименьшие изменения помогут получить форму с двумя гридами с разным поведением?

В рамках этого ужаса - положить на форму два фрейма с двумя гридами.
...
Рейтинг: 0 / 0
Разные override для двух TDBGrid на одной форме
    #40086451
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown,

создайте оба грида динамически, указывая при создании имя класса грида как ИмяЮнита.TDBGrid
...
Рейтинг: 0 / 0
Разные override для двух TDBGrid на одной форме
    #40087117
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
В рамках этого ужаса - положить на форму два фрейма с двумя гридами.
Благодарю, помогло.

Кроик Семён
tunknown,

создайте оба грида динамически, указывая при создании имя класса грида как ИмяЮнита.TDBGrid
Потом я подумал, что желательно сохранить Design Time, поэтому и остальные советы не подошли.


Заодно выяснилось, что в Lazarus 2.0.12 дизайнер форм не полностью учитывает ограничения Reader из FreePascal. Если Frame1 с Event1 положить на форму, то всё работает. Event1 не попадает в текст lfm формы. Если Frame2 поместить во Frame3 и уже там добавить Event3 для объекта из Frame2, то при запуске формы с Frame3 получаем Invalid value for property, т.к. Event3 попадает в lfm формы без указания модуля, где он лежит. Если его удалить руками из lfm формы, то начинает работать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Разные override для двух TDBGrid на одной форме
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]