Главная страница
    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.037 c
1-1093851964
gunner
2004-08-30 11:46
2004.09.19
Передача данных в OCX


1-1094490496
Klopan
2004-09-06 21:08
2004.09.19
Handle активного текущего окна


1-1093967809
SMT
2004-08-31 19:56
2004.09.19
Самопроизвольное изменение размеров шрифта у компонентов формы


6-1089773136
RaPToR_1
2004-07-14 06:45
2004.09.19
ошибки в Tclientsocket


1-1094221622
hamster
2004-09-03 18:27
2004.09.19
CRC32





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский