Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
4 / 4 / 0
Регистрация: 27.05.2012
Сообщений: 120
1

Как сделать так, чтобы разные файлы могли видеть друг друга?

27.05.2012, 20:57. Просмотров 3966. Ответов 5
Метки нет (Все метки)


Есть 2 формы. Одна вызывает другую. Есть класс, который подключается к 1-ой форме. Но когда я подключаю его ко 2-ой, она его не видит.
Также, из вызванной формы не могу обратиться к элементам вызывающей, например к dataGridView.
Что делать?
Подскажите методы. Можно ссылки.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2012, 20:57
Ответы с готовыми решениями:

Как сделать, чтобы в на сайте юзеры могли видеть друг-друга и соединяться для игры?
Как сделать, чтобы в на сайте юзеры могли видеть друг-друга и соединяться для игры (типа Бойцовский...

Как сделать, чтобы пользователи на сервере могли редактировать файлы друг друга?
Здравствуйте. В нашей организации имеется сеть из windows машин и файлового сервера на ubuntu...

Как сделать чтобы 2 персонажа могли раздавить друг друга по типу марио?
Во время вхождения в триггер уничтожается оба объекта. как это исправить? using UnityEngine;...

Как сделать так, чтобы 2 сервера друг друга видели
всем привет, уважаемые форумчане! ситуация такова: ранее 2 сервера стояли в одном офисе. где-то...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
5
Комп_Оратор)
Эксперт по математике/физике
8645 / 4358 / 593
Регистрация: 04.12.2011
Сообщений: 13,035
Записей в блоге: 16
28.05.2012, 02:03 2
Расскажите о типе Вашего проекта.
Если Windows Forms Application то посмотрите тут:
Как из второго окна обратиться к элементам первого?
Что касается класса, покажите его.
Тут можно в расширение примера из ссылки проделать следующее.
Добавить в исходные файлы проекта *.Cpp файл второй формы. Вынести в него реализации тех методов которые будут работать с Вашим классом, оставив в *.h файле формы только их объявления.
Тогда *.h файл Вашего класса можно будет вставить в *.Cpp файлы обеих форм.
При разделении, функцию инициализации лучше оставить в *.h если не хотите, расставаться с работоспособностью дизайнера форм. Конструктор тоже лучше не перемещать, в этом случае. Однако если работать с формой вслепую, для Вас не проблема то это - пустяки.
0
4 / 4 / 0
Регистрация: 27.05.2012
Сообщений: 120
28.05.2012, 05:49  [ТС] 3
Цитата Сообщение от IGPIGP Посмотреть сообщение
...Что касается класса, покажите его...
Класс состоит из Class1.h и Class1.cpp, реализация отделена (всё как вы описали). Опишу подробно ситуацию. Файл Form1.h вызывает Form2.h к которому подключён Class1.h, т. к. его методы компонентов (например button3_Click) требуют функции из этого класса. Также Form1.h вызывает Form3.h, методы которого тоже требуют функции из Class1.h. Если я подключу к Form3.h этот класс и обращусь к его функциям, то компил выдаёт ошибку что таких функций нет. Как будто бы я этот класс вообще не подключал. Если я подключу Class1.h к Form3.cpp то разве он будет известен методам компонентов Form3.h ???
0
Комп_Оратор)
Эксперт по математике/физике
8645 / 4358 / 593
Регистрация: 04.12.2011
Сообщений: 13,035
Записей в блоге: 16
28.05.2012, 11:59 4
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Вообще, кое-что зависит от того, как Вы связали классы Form1, Form2 и Form3. Из того, что я могу предположить, учитывая, что связаны они правильно, и что:
Цитата Сообщение от Некий_Чел Посмотреть сообщение
Также Form1.h вызывает Form3.h, методы которого тоже требуют функции из Class1.h.
могу предложить сделать для Form3, то же что уже сделано (как я понял) для Form1 и Form2: cоздайте Form3.Cpp, выделите в него определения необходимых методов, оставив только, их объявления в Form3.h. Директиву #include "ClassName.h" вставьте в этот Cpp, как сделано в 2-х предыдущих случаях с Form1.Cpp и Form2.Cpp.
1
4 / 4 / 0
Регистрация: 27.05.2012
Сообщений: 120
28.05.2012, 13:28  [ТС] 5
Спасибо! Я уже понял, что надо переписать реализацию форм в отдельные сср-шники. Жаль, что это изначально Студией не делается.
0
Комп_Оратор)
Эксперт по математике/физике
8645 / 4358 / 593
Регистрация: 04.12.2011
Сообщений: 13,035
Записей в блоге: 16
28.05.2012, 13:40 6
Цитата Сообщение от Некий_Чел Посмотреть сообщение
Жаль, что это изначально Студией не делается.
Посмотрите на заметку по поводу функции инициализации и конструктора. В студии, разработчики видимо, не смогли добиться корректной работы дизайнера форм, если их реализации не находятся в *.h - файле. А преимущества дизайнера очевидны для новичков.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2012, 13:40

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

как сделать так чтобы клиенты могли загружать файлы на сайт?
как сделать так чтобы клиенты могли загружать файлы на сайт? помогите с кодом и описание если можно

Как сделать так, чтобы две разные программы могли работать с одной и той же областью оперативной памяти?
Собственно даже незнаю куда копать. Пробовал в одной программе вывести указатель на массив, а в...

можно сделать так, чтобы сайт могли видеть только с определенных IP, а для остальных надпись о реконструкции
Доброе время суток Я создаю сайт на “боевом” хостинге . Подскажите , пожалуйста , можно сделать...

Сделать так чтобы буквы не налазили друг на друга
uses crt, GraphABC; Const Image_1='fox.bmp'; {Фон додатка} // Image_2='1.bmp'; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.