powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC++ .NET проблемы с global namespace
4 сообщений из 4, страница 1 из 1
VC++ .NET проблемы с global namespace
    #32566734
slydiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть класс

Код: plaintext
1.
2.
3.
4.
5.
// test.h
namespace MyNamespace
{
    public __gc class MyClass
    ...

Если использовать Win32 функции и константы вне класса, то все ОК.
Внутри класса пишет что не объявлено. "::" перед функцией/константой не помогает:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#include <windows.h>

HANDLE h1 = NULL;  // OK

#include <test.h>

void MyNamespace::MyClass::MyProc(void)
{
  HANDLE h2 = NULL;  // NULL not declared
  HANDLE h3 =  0 ;       // HANDLE not declared

  typedef void * HANDLE;
  HANDLE h4 =  0 ;             // OK

  h4 = ::OpenFileMapping( ::FILE_MAP_ALL_ACCESS, FALSE, "test" );
  // OpenFileMapping not declared
  // FILE_MAP_ALL_ACCESS not declared

}

Хэлп!
...
Рейтинг: 0 / 0
VC++ .NET проблемы с global namespace
    #32566838
Basilisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй добавить в "stdafx.h"
Код: plaintext
1.
#include <windows.h>
...
Рейтинг: 0 / 0
VC++ .NET проблемы с global namespace
    #32566847
Basilisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя MSDN рекомендует использовать DllImport
типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#using <mscorlib.dll>
using namespace System; // To bring System::String in
using namespace System::Runtime::InteropServices; 
// for DllImportAttribute
namespace SysWin32
{
   [DllImport("user32.dll", EntryPoint = "MessageBox", CharSet = Unicode)]
   Int32 MessageBox( Int32 hWnd, String* lpText, String* lpCaption, 
                     UInt32 uType );
}

int main( )
{
   SysWin32::MessageBox( 0 , S"Hello world!", S"Greetings",  0 );
}
...
Рейтинг: 0 / 0
VC++ .NET проблемы с global namespace
    #32569346
slydiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поставил #include "StdAfx.h" первой строкой (или вообще убрать #include "StdAfx.h" или отключить precompiled headers) и все ок

вот что значит всегда на BCB писал, тут у VC++ свои приколы...

всем спасибо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC++ .NET проблемы с global namespace
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]