![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
TheDestroyer |
|
||||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 5.11.2007 Репутация: нет Всего: нет |
Здравствуйте
Надо сделать приложение с визуальным интерфейсом. Для этого создаю проект Visual C++ - CLR - приложение Windows Forms. Раньше создавал визуальные интерфейсы в Borland C++. Конструктор в Windows Forms похож на борландовский, структура проекта тоже схожа. Но есть некоторые вопросы: 1. Где лучше писать код обработчика события, например, нажатия кнопки? В открывающемся обработчике
или где-то еще? 2. Как правильно называется язык, на котором нужно писать создав такой проект? Не читый c++ же? 3. При объявлении текстовой переменной требуется объявлять так:
И как теперь работать со строковыми переменными как это было со String? (Например сделать msg.c_str()) 4. Пытаюсь получить значение последней ошибки в программе с помощью GetLastError(). Взял кусок кода, который у меня работает в консольном приложении (проект Visual C++ - Win32 - Консольное приложение):
В проекте Windows Forms использую следующий код:
Чтобы работал FormatMessage пришлось в свойствах проекта поменять "Поддержка среды CLR:" с \clr:pure на \clr. Чтобы MessageBox::Show() принял 1й параметр, пришлось поменять тип LPVOID msg на String^ msg. В итоге откомпилировалось и выдает в текстбокс и в сообщение это:
Видимо надо преобразовать кодировку. CharToOem не принимает параметры типа String^. Чувствую не так это надо делать, подскажите пожалуйста как правлильно. |
||||||||||||
|
|||||||||||||
azesmcar |
|
||||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 2 Всего: 211 |
Там где он предлагает, а вообще - где удобно ![]()
C++ .NET
Handle to Object on Managed Heap
Это пойдет?? |
||||||||
|
|||||||||
TheDestroyer |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 5.11.2007 Репутация: нет Всего: нет |
Спасибо за ответы.
Остается нерешенным 4й вопрос: нужно отобразить ошибку в читаемом виде. Сейчас код такой:
Всеравно выводит квадраты и закорючки. Все-таки, похоже, надо использовать
Но в таком виде ошибка: приведение типов: невозможно преобразовать 'System::String ^' в 'LPCSTR'. Как с объектом String^ msg сделать преобразование аналогичное в c++ msg.c_str() (перевести в const char)? |
||||
|
|||||
mihryak |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 10 Всего: 36 |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |