Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Delphi in Design-time
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Delphi in Design-time (Прочитано 7829 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Chel
Гость
Delphi in Design-time
«
:
17-02-2004 10:08 »
Привет всем. Люди помогите разобраться. Появилась такая проблема.
Есть класс Tbrowser наследник от Tframe. От него создан класс TfrmPAC = class(TBrowser) в котором перегружены некоторые процедуры. Дальше был создан класс
TFramePACs = class(Tframe), который в себе содержит на PageControl 9 объектов класса TfrmPAC. Дальше была создана форма(FrmInsuranceCardBase) на которой лежит объект типа TFramePACs.
Теперь о сложившейся проблеме. Если в делфи открывать сразу FrmInsuranceCardBase то появляется ошибка “class TFramePACs not found”, а затем “class TfrmPAC not found”, помогает только открытие вначале фрейма TfrmPAC. А потом всего остального. Дальше если открыть эти три класса(TfrmPAC, TFramePACs, FrmInsuranceCardBase) и начать просто перемещать мышкой фрейм TfrmPAC вылетает сообщение “A component namrd tlbar already exists”. Tlbar это TtoolBar, который лежит во фрейме Tbrowser. И дальше при попытке скопилить выдается ошибка : [Error] RLINK32: Error opening file "BrowserFrame.dfm".
Как с этим бороться?
Заранее спасибо.
Записан
x77
Модератор
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
Delphi in Design-time
«
Ответ #1 :
17-02-2004 12:36 »
попробуй перед всеми объявлениями объявить все классы, как forvard. т.е.
Код:
type
Tbrowser = class;
TfrmPAC = class;
TFramePACs = class;
и убедись, что в FrmInsuranceCardBase модуль, в котором объявлены эти три класса объявлен в interface-секции uses, а не в implementation.
Записан
я люблю shelek.ru
Chel
Гость
Delphi in Design-time
«
Ответ #2 :
19-02-2004 12:14 »
При попытки вставить описание forward классов вылазит такая ошибка
[Error] InsuranceCardBase.pas(13): Type 'TFramePACs' is not yet completely defined
Записан
x77
Модератор
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
Delphi in Design-time
«
Ответ #3 :
19-02-2004 14:58 »
Chel
, это означает, что на момент компиляции InsuranceCardBase, он не успевает добраться до полного объявления TFramePACs. ты уверен, что модель, в котором объявлены твои классы лежит в "верхнем" uses, а не в разделе implementation, куда он прописывается по Alt+F11 или автоматически?
сможешь привести текст обоих модулей? или сбросить на почту? (
x77@pisem.net
)
Записан
я люблю shelek.ru
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Delphi in Design-time
Загружается...