![]() |
|
|
![]()
|
|
| Iskin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 6.7.2008 Репутация: нет Всего: нет |
Здравствуйте!
Возник такой вопрос: - есть Form1(Unit1.h и Unit1.cpp - соответственно) на ней лежит Lalel1; - есть подключенный к проекту Functions.h - соответственно Functions.h прописан в Unit1.h и наоборот. Все прекрасно работает если из Form1 вызываем функции прописанные в классе расположенном в Functions.h Следующая ситуация: - На Form1 тыкаем кнопку -> Она вызывает функцию из класса в Functions.h в которой прописано Form1->Label1->Caption = "HELLO"; Возникает ошибка чтения памяти. Как быть? Почему я не могу из прикрепленного класса обратиться к компонентам формы? Это сообщение отредактировал(а) Iskin - 15.10.2012, 01:11 |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Вероятно, у тебя где-то в коде повреждается память (например, из-за выхода за пределы массива), из-за чего форма перестаёт работать. Ищи ошибку в другом месте.
Если есть сомнения по поводу строки «Form1->Label1->Caption = "HELLO"», то создай новый проект, кинь на форму лейбл и кнопку. В обработчик нажатия кнопки вставь эту строчку. И запусти программу. Ошибок быть не должно. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Ошибка точно не в этом, а где то в другом месте твоего кода.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| petlyura |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 30.1.2008 Где: Харьков Репутация: 2 Всего: 2 |
привет! а откуда класс, прописанный в functions.h знает о Form1? ты передавал на него указатель в класс, прописанный в functions.h? в этом и причина. Или передай туда указатель, или в обработчике баттона пиши Label1->Caption = FunctionFromFunctions(); |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Есть подозрение, что топикстартер создаёт форму динамически.
Добавлено через 1 минуту и 21 секунду
Это не обязательно, если форма создаётся автоматически при старте программы. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| petlyura |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 30.1.2008 Где: Харьков Репутация: 2 Всего: 2 |
ок. тогда для лучшего понимания должна помочь пошаговая отладка. |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
С этого нужно было начинать ) -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Iskin |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 6.7.2008 Репутация: нет Всего: нет |
Проблему решил. Ниже код.
Unit1.cpp
Functions.h
|
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |