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

Вниз

Глюк с фрэймами   Найти похожие ветки 

 
DesWind ©   (2004-09-03 15:30) [0]

Создал новый фрэйм, как положено из пункта меню:

TStdFrame=class(TFrame);

потом в другом модуле написал это

TMyCommonFrame=calss(TFrame)
public
procedure CommonProc;virtual;abstract;
end;

И переправил объявление

TStdFrame=class(TFrame);

на

TStdFrame=class(TCommonFrame);

сохранил проект, закрыл, открыл.

В итоге Фрэйм превратился в форму.
Отчего и как с этим боротся


 
Семен Сорокин ©   (2004-09-03 15:42) [1]


> DesWind ©   (03.09.04 15:30)  
> В итоге Фрэйм превратился в форму.
> Отчего и как с этим боротся

Я сталкивался с этим, правда не нашел "правильного" пути решения, сейчас борюсь так:
1. открываю юнит с фреймом, он орет на ненайденные св-ва.
2. меняю вручную class(TCommonFrame) на class(TFrame)
3. Правой кнопкой по форме/фрейму выбираю View As Text и сразу View As Form, опять орет на св-ва, но показывает как фрейм
4. Меняю необходимую функциональность
5. Закрываю юнит, чтобы при следующем открытиии не орала


 
Семен Сорокин ©   (2004-09-03 15:44) [2]

[1] +
3.5 меняю вручную class(TFrame) на class(TCommonFrame)


 
jack128 ©   (2004-09-03 15:47) [3]

использовать стандартный механизм для визуального наследования - File|New.. выбираешь закладку <имя твоего проэкта> и выбираешь фрейм от которого хочешь наслдоваться.. Или вручную изменяй dfm файл.


 
DesWind ©   (2004-09-03 15:54) [4]

Пока ходил курил пришло в голову решение как мне кажется правильное добавить этот фрэйм в репозиторий, а потом при создании поставить галочку "Наследовать"


 
jack128 ©   (2004-09-03 15:59) [5]

DesWind ©   (03.09.04 15:54) [4]
Пока ходил курил пришло в голову решение


Правельную траву куришь ;-) но см другие ответы  -  в них тоже умные мысли есть ;-)

Репозиторий, в принципе, для часто используемых форм и фреймов используется, а не для единичного наследования..


 
DesWind ©   (2004-09-03 16:04) [6]

jack128 ©   (03.09.04 15:59) [5]
>но см другие ответы  

Ага, просто я страничку забыл обновить

>Репозиторий, в принципе, для часто используемых форм и фреймов используется, а не для единичного наследования..

Ну у меня этот фрэйм еще, не в
одном проекте будет исспользоватся


 
Семен Сорокин ©   (2004-09-03 16:10) [7]

DesWind ©   (03.09.04 15:54) [4]
Хмм действительно, только что проверил, нормально проходит, но вот незадача у меня TCommonFrame - невизуальный...
Поэтому добавить в репозиторий не получится.


 
icWasya ©   (2004-09-03 16:23) [8]

Если всё таки хотите вручную, то после

>И переправил объявление
>TStdFrame=class(TFrame);
>на
>TStdFrame=class(TCommonFrame);

открыть StdFrame как текст и исправить
object StdFrame: TStdFrame
на
inherited StdFrame: TStdFrame


 
Семен Сорокин ©   (2004-09-03 16:29) [9]

icWasya ©   (03.09.04 16:23) [8]
в случае с невизуальным наследником не прокатит, проверял, он тогда ищет и не находит файл ресурсов, для сабжа это выход.


 
Romkin ©   (2004-09-03 16:45) [10]

Млин, ну что вы маетесь?
>И переправил объявление
>TStdFrame=class(TFrame);
>на
>TStdFrame=class(TCommonFrame);
НУ так теперь View as Text и переправь слово object  на inherited в dfm :))


 
jack128 ©   (2004-09-03 19:49) [11]

Семен Сорокин ©   (03.09.04 16:29) [9]
в случае с невизуальным наследником не прокатит, проверял, он тогда ищет и не находит файл ресурсов


В случае с невизуальным - RegisterCustomModule - вроде в Компонентах подобный вопрос подымался - поищи..



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

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

Наверх




Память: 0.49 MB
Время: 0.087 c
1-1094132339
AzIN
2004-09-02 17:38
2004.09.19
procedure


14-1093686049
Yakudza
2004-08-28 13:40
2004.09.19
Т. Бадд. Объектно-ориентированное программирование .


3-1092913938
V-A-V
2004-08-19 15:12
2004.09.19
Контейнер для хранения тексов SQL запросов


4-1092088827
volser
2004-08-10 02:00
2004.09.19
Изменение файловой системы


3-1093170919
alextov
2004-08-22 14:35
2004.09.19
Подскаажите как загрузить изображение в БД