Форум: "Основная";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизГлюк с фрэймами Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c