Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.048 c
1-1093890542
Arcady
2004-08-30 22:29
2004.09.19
как справиться с генератором тестов


3-1093322607
snake1977
2004-08-24 08:43
2004.09.19
правильное индексирование


3-1092907138
Loaderz
2004-08-19 13:18
2004.09.19
Где здесь Ошибка???


4-1091686363
malamba
2004-08-05 10:12
2004.09.19
отслеживание курсора и перерисовка изображения


4-1091637867
AD_infiniTUM
2004-08-04 20:44
2004.09.19
Как определить ширину текста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский