Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Аннна
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 42
Завершенные тесты: 1
1

Как правильно "Вставить функцию"?

11.11.2015, 15:36. Просмотров 1617. Ответов 14
Метки нет (Все метки)

Здравствуйте, я в CLR/C++ новичок, поэтому у меня возникла такая проблема:есть срр-файл с кодом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "MyForm.h"
 
using namespace Проект1;
 
 
 
[STAThreadAttribute]
int main(array<System::String^> ^args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
        
    Application::Run(gcnew MyForm());
    return 0;
}
К нему есть заголовочный MyForm.h файл(форма) с кнопкой. При нажатии кнопки должна выполняться написанная вручную функция. Если написать её в отдельном заголовочном файле и включить его в MyForm.h, то в MyForm.срр вылетает ошибка " C2976 std::array: слишком мало аргументов шаблон", но если вставить эту функцию в поле, принадлежащее кнопке, компилятор её "не признаёт". Что с этим можно сделать или где об этом можно что-то прочитать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2015, 15:36
Ответы с готовыми решениями:

Как правильно объявить идентификатор "HatchBrush" и "hBrush"
Помогите правильно объявить идентификатор &quot;HatchBrush&quot; и &quot;hBrush&quot;. private:...

Реализация команд меню "Создать", "Сохранить", "Сохранить как ..."
Здравствуйте! Пытаюсь работать в windows forms. Cуть программы такова :...

Кнопки "Свернуть" "Развернуть" "Закрыть"
Подскажите, как определить, что была нажата одна из кнопок &quot;Свернуть&quot;,...

Ошибка C3867 "нестандартный синтаксис; используйте "&", чтобы создать указатель на член"
pictureBox1-&gt;Invalidate; Вызывает ошибку C3867. Что сделать то нужно? И...

Error C2678: бинарный "<": не найден оператор, принимающий левый операнд типа "System::Decimal"
Делал программу для расчета exp, с точностью до eps = 0.1, …, 0.000001 путем...

14
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7080 / 3384 / 458
Регистрация: 04.12.2011
Сообщений: 9,411
Записей в блоге: 5
11.11.2015, 22:08 2
Цитата Сообщение от Аннна Посмотреть сообщение
где об этом можно
Аннна, об этом это о чём? Давайте чтобы не гадать (а то тут мигом найдутся парни с идеями) Вы покажете нам код. Функцию Вашу особенно хочется увидеть.
Иначе вопрос заголовка повиснет в воздухе.
0
Аннна
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 42
Завершенные тесты: 1
12.11.2015, 11:08  [ТС] 3
Под "этим" я имела ввиду Windows Form. У меня как-то много проблем с ним возникает. Если есть хороший учебник - посоветуйте, пожалуйста. А проблема с функцией уже решилась. Я перенесла её объявление в файл "MyForm.h", а описание в "MyForm.cpp" и всё заработало. Я просто хотела сделать функции - отдельно, а форму - отдельно. Но так, видимо, не получится.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7080 / 3384 / 458
Регистрация: 04.12.2011
Сообщений: 9,411
Записей в блоге: 5
12.11.2015, 11:35 4
Цитата Сообщение от Аннна Посмотреть сообщение
Под "этим" я имела ввиду Windows Forms.
Аннна, C++/CLI это уже не поддерживаемый язык. Трудности не только с информацией, но и с созданием проектов в последних MS VS. Может сразу на C# посмотреть?
А по C++/CLR инфу надо по крупицам собирать. Книжек тоже не шибко много. Вот что я могу посоветовать:
Хортон А. Базовый курс Visual C++ 2005: Базовый курс.
Пахомов Б.И. С/С++ и Visual C++ 2008 для начинающих.
Это старые издания и конечно уже есть и поновее, но чтобы искать, - вполне достаточно.
Цитата Сообщение от Аннна Посмотреть сообщение
Я просто хотела сделать функции - отдельно, а форму - отдельно.
Можно обернуть функцию классом и лучше всего, - управляемым. Тогда класс может быть отдельно, но пока. пусть будет так как Вы сделали, тем более что это самый простой вариант.
1
tezaurismosis
Администратор
Эксперт .NET
8583 / 3872 / 730
Регистрация: 17.04.2012
Сообщений: 8,622
Записей в блоге: 14
12.11.2015, 14:53 5
Вопрос так и остаётся неясным. Чем вам main() мешает в этом файле - лежит себе и лежит, и пусть дальше лежит.
Цитата Сообщение от IGPIGP Посмотреть сообщение
Хортон А. Базовый курс Visual C++ 2005: Базовый курс.
+1. Если знаете английский, есть издания поновее.
0
Аннна
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 42
Завершенные тесты: 1
12.11.2015, 16:06  [ТС] 6
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Вопрос так и остаётся неясным. Чем вам main() мешает в этом файле - лежит себе и лежит, и пусть дальше лежит.
Просто не хотелось записывать функции в один файл с main-ом. Я хотела определить ф-ции в одном файле, а всё что касается формы - в другом. Т.е создать ещё 1 заголовочный файл(Header) с описанием ф-ций и 1-срр с этими ф-циями и "прикрепить" это к файлу MyForm.срр(# include "Header.h"). Но это не работает и в 8-й строчке MyForm.срр вылетает ошибка "C2976 std::array: слишком мало аргументов шаблон".

Добавлено через 1 минуту
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Хортон А. Базовый курс Visual C++ 2005: Базовый курс.
+1. Если знаете английский, есть издания поновее.
Спасибо, уже нашла.
0
tezaurismosis
Администратор
Эксперт .NET
8583 / 3872 / 730
Регистрация: 17.04.2012
Сообщений: 8,622
Записей в блоге: 14
12.11.2015, 16:30 7
Аннна, что-то не то с проектом, видимо. Какая у вас студия?
0
Аннна
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 42
Завершенные тесты: 1
12.11.2015, 17:14  [ТС] 8
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Аннна, что-то не то с проектом, видимо. Какая у вас студия?
2015-я.
0
tezaurismosis
Администратор
Эксперт .NET
8583 / 3872 / 730
Регистрация: 17.04.2012
Сообщений: 8,622
Записей в блоге: 14
12.11.2015, 17:16 9
Вот пустой рабочий проект для 2013, на 15ой должен запуститься. На нём и экспериментируйте. В нём всё настроено для нормальной работы
0
Вложения
Тип файла: zip C++ CLI Windows Forms (VS 2013).zip (7.9 Кб, 54 просмотров)
Аннна
0 / 0 / 0
Регистрация: 25.11.2014
Сообщений: 42
Завершенные тесты: 1
12.11.2015, 17:20  [ТС] 10
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Вот пустой рабочий проект для 2013, на 15ой должен запуститься. На нём и экспериментируйте. В нём всё настроено для нормальной работы
Спасибо
0
S_el
2220 / 1682 / 354
Регистрация: 15.12.2013
Сообщений: 6,670
12.11.2015, 18:41 11
Цитата Сообщение от tezaurismosis Посмотреть сообщение
Если знаете английский, есть издания поновее.
А в его последней книге C++/CLI еще упоминается?
1
tezaurismosis
Администратор
Эксперт .NET
8583 / 3872 / 730
Регистрация: 17.04.2012
Сообщений: 8,622
Записей в блоге: 14
12.11.2015, 19:33 12
S_el, вот так штука, он перешёл на MFC! Не читал последнее издание, я думал он просто информацию обновил или добавил. Сейчас поглядел и увидел.
Тогда моё сообщение выше прошу считать неверным. Читаем старое издание.

Не по теме:

С ума сойти, люди уже на MFC переходят, лишь бы на C++/CLI не писать

0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7080 / 3384 / 458
Регистрация: 04.12.2011
Сообщений: 9,411
Записей в блоге: 5
12.11.2015, 21:17 13
Цитата Сообщение от tezaurismosis Посмотреть сообщение
S_el, вот так штука, он перешёл на MFC!
Позади их слышен ропот:
«Нас на API променял...»

Да, и в Visual C++ 2010 упор уже на MFC, хотя о CLI тоже есть. Мне та что 2005 больше всех нравится.
0
S_el
2220 / 1682 / 354
Регистрация: 15.12.2013
Сообщений: 6,670
12.11.2015, 23:01 14
Цитата Сообщение от IGPIGP Посмотреть сообщение
Да, и в Visual C++ 2010 упор уже на MFC, хотя о CLI тоже есть. Мне та что 2005 больше всех нравится.
А мне VS10 там штуки из нового стандарта упоминаются + рассматривается PPL + в сравнении видно преимущество C++/CLI над громоздким и устаревшим MFC.

Цитата Сообщение от tezaurismosis Посмотреть сообщение
вот так штука, он перешёл на MFC!
Это удивляет. Я слышал Microsoft создал еще какой-то C++/Cx интересно что оно такое.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7080 / 3384 / 458
Регистрация: 04.12.2011
Сообщений: 9,411
Записей в блоге: 5
12.11.2015, 23:07 15
Цитата Сообщение от S_el Посмотреть сообщение
сравнении видно преимущество C++/CLI над громоздким и устаревшим MFC
Преимущество в формошлёпствескорости создания простых GUI и пр. штук из библиотек NET. Но сравнивать их не стал бы. MFC это моща. Впрочем, это тоже холиварная тема.
0
12.11.2015, 23:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2015, 23:07

Ошибка: Неявное преобразование типа "string" в "int" невозможно
private void button1_Click(object sender, EventArgs e) { ...

Ошибка в коде: namespace "System" не содержит члена "ComponentModel"
Добрый вечер.Недавно занялся изучением работы с windows forms и пытаюсь...

Error C2143: синтаксическая ошибка: отсутствие ";" перед "->"
Доброго времени суток. Пишу простейшую программку: Создаю приложение Windows...


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

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

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