|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.03.2016, 11:30 | #1 |
Пользователь
Регистрация: 05.03.2016
Сообщений: 11
|
Блок редактирования первой формы через вторую- C++/CLI Windows Forms
Всем привет! Нужна помощь! Делаю анкету опросник, в которой есть возможность редактирования вопросов.
1.png При нажатии "редактор" запускается новая форма редактирования 2.jpg Содержимое label,т.е. вопросов решил объявить глобально в заголовочном файле 3.png Вот программный код фала 1.cpp #include"stdafx.h" char vopros[1][50]={"Сколько Вам лет?"}; программный код фала 1.h extern char vopros; В коде первой и второй формы произвожу подключение #include"1.h" Form1 при запуске private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { label1->Text=vopros[1]; } Form2 при выборе первого значения из comboBox1 private: System::Void comboBox1_SelectedIndexChanged(Syst em::Object^ sender, System::EventArgs^ e) { if (comboBox1->SelectedIndex == 0) { label2->Text="Вопрос № 1"; textBox1->Text=vopros[1]; } } Вроде бы все правильно прописал, но появляются ошибки вот такого типа 4.jpg |
05.03.2016, 11:57 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Наверно в extern надо тип правильно указывать. Что-нибудь типа char** вместо просто char (один символ).
Не надо делать скриншот с текстом ошибок компилятора, это ж текст, его скопировать можно. И используйте тег [CODE] для вставки кода на форум.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.03.2016, 11:58 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
От нас требуется догадаться что находится в файле FromSetting.h на 173 строке?
|
05.03.2016, 12:23 | #4 |
Пользователь
Регистрация: 05.03.2016
Сообщений: 11
|
Waleri, в строчке 173 находится
Код:
Последний раз редактировалось kirill1507; 05.03.2016 в 12:30. |
05.03.2016, 12:32 | #5 |
Пользователь
Регистрация: 05.03.2016
Сообщений: 11
|
Alex11223, попробовал, и во что в итоге получилось
2формы.cpp 1>2формы.cpp(3): warning C4005: __CLR_VER: изменение макроопределения 1> аргументы командной строки: см. предыдущее определение "__CLR_VER" 1>2формы.cpp(3): warning C4651: параметр "/D__CLR_VER=40030319" указан для предкомпилированного заголовка, но не для текущей компиляции 1>c:\users\hp\documents\visual studio 2010\projects\2формы\2формы\FormSet ing.h(173): error C2664: void System::Windows::Forms::Control::Te xt::set(System::String ^): невозможно преобразовать параметр 1 из "char *" в "System::String ^" 1> Оператор определенного пользователем преобразования недоступен, или 1> Нельзя преобразовать неуправляемый тип в управляемый тип 1> FormSeting.cpp 1>FormSeting.cpp(1): warning C4005: __CLR_VER: изменение макроопределения 1> аргументы командной строки: см. предыдущее определение "__CLR_VER" 1>FormSeting.cpp(1): warning C4651: параметр "/D__CLR_VER=40030319" указан для предкомпилированного заголовка, но не для текущей компиляции 1>c:\users\hp\documents\visual studio 2010\projects\2формы\2формы\FormSet ing.h(173): error C2664: void System::Windows::Forms::Control::Te xt::set(System::String ^): невозможно преобразовать параметр 1 из "char *" в "System::String ^" 1> Оператор определенного пользователем преобразования недоступен, или 1> Нельзя преобразовать неуправляемый тип в управляемый тип |
05.03.2016, 12:42 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Код:
Или сразу делайте массив System::String (.NET-овские строки) вместо char* (С строки).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.03.2016, 13:30 | #7 | |
Пользователь
Регистрация: 05.03.2016
Сообщений: 11
|
Цитата:
Что то не получается, можете посмотреть? Программа в файлах,Сделал два архива, нужно соединить в один Последний раз редактировалось kirill1507; 05.03.2016 в 13:58. |
|
05.03.2016, 13:49 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Куда смотреть-то?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.03.2016, 14:00 | #9 |
Пользователь
Регистрация: 05.03.2016
Сообщений: 11
|
|
05.03.2016, 14:31 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не, так неинтересно, сам смотри.
Ошибка выше о том, что массив char ("С строка") это не тоже самое, что экземпляр класса String из .NET, и надо преобразовать первое во второе. Там вроде есть конструктор принимающий char* https://msdn.microsoft.com/en-us/lib...=1&cs-lang=cpp, так что gcnew String(массиив_char) наверно должно работать. А еще лучше не писать на С++ для .NET, а взять C#, это намного проще и там нет кучи разных видов строк и прочей путаницы с наследием из С/С++. Смысл использовать C++/CLI может быть только для специфичных задач о связывании чистого С++ кода и .NET сборок.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ CLI Forms | AGS17 | Общие вопросы .NET | 1 | 30.10.2013 22:42 |
Windows Forms c++ как через кнопку вызвать PictureBox | diga666 | Windows Forms | 1 | 27.05.2013 14:51 |
DirectInput и джойстик (C++/CLI, Windows Forms) | Vistaern | Win Api | 1 | 21.02.2013 06:48 |
Проблема с выделением памяти в глобальной области windows forms(C++\CLI) | DartLenin | Помощь студентам | 2 | 24.01.2012 20:58 |
Проблема с отображением русского языка (Windows Forms C++ CLI) | Alex TGM | Помощь студентам | 0 | 17.08.2010 11:13 |