Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
#1

Глобальный объект - C++

30.10.2017, 17:28. Просмотров 422. Ответов 49

Есть у меня приложение с формой Win Forms(CLR) Ну у меня весь код соответственно в .h файле. Как там объявить вектор, что-бы его можно было использовать во всех ф-циях? Вот вектор: std::vector < HANDLE > Hl;
Пишет, что член класса управляемый не может относиться к типу класса не управляемый ...\MyForm.h
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2017, 17:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глобальный объект (C++):

Глобальный объект - C++
Как сделать, чтобы я создал объект, и его видел весь файл? Суть в том, что в конструктор я хочу передать аргумент. Или нужно сделать...

Глобальный объект класса - C++
Добрый вечер всем!) Вообщем суть такая: пишу статическую библиотеку, которая состоит из кучи файлов. Есть класс, конструктор которого...

Динамический глобальный объект. - C++
Здравствуйте. Пишу Auto-Clicker . Текущая версия содержит заранее созданный массив объектов класса &quot;TClickBase&quot; в каждом объекте хранятся...

Глобальный объект класса - C++
Ребят, написал класс для реализации очереди на основе массива в отдельном юните, теперь мне нужно в другом получить объект класса, который...

Правильно созданный глобальный объект - C++
Необходимо создать создать несколько объектов классов глобально. Я делаю: Создаю h-файл. в нем объявляю(создаю) объекты. И в срр -...

Почему глобальный объект, объявленный до main, конструируется в ней? - C++
Всё просто, имеем код: #include &lt;windows.h&gt; #include &lt;stdio.h&gt; using namespace std; class x { public: x () { printf...

49
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
30.10.2017, 20:06  [ТС] #16
(HANDLE я получаю в результате CreateFile.)
Кстати, если что, то мне бы пример, как объявить этот List<HANDLE> Hl; вне ф-ции...

Добавлено через 30 секунд
Цитата Сообщение от nmcf Посмотреть сообщение
Какой это тип?
В смысле?
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
30.10.2017, 20:20 #17
Его не достаточно просто объявить.
C++
1
List<HANDLE> ^ls = gcnew List<HANDLE>();
0
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
30.10.2017, 20:49  [ТС] #18
Цитата Сообщение от nmcf Посмотреть сообщение
Его не достаточно просто объявить.
List<HANDLE> ^ls = gcnew List<HANDLE>();
"HANDLE" не является допустимым универсальным аргументом ...MyForm.h
требуется спецификатор типа ...\MyForm.h

И в смысле не достаточно просто объявить? Можно мне весь код(как и где его объявить и куда впихнуть с new).
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
30.10.2017, 20:54 #19
А с int работает?
Цитата Сообщение от Zagadohnik37 Посмотреть сообщение
в смысле не достаточно просто объявить
gcnew должен быть, динамически создаётся. Выше смотри.
0
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
30.10.2017, 22:27  [ТС] #20
Цитата Сообщение от nmcf Посмотреть сообщение
А с int работает?
Да...

Добавлено через 1 час 5 минут
Ну а как быть с моей задачей? (Безразмерный массив HANDLE)

Добавлено через 2 минуты
Может можно со static что-нибудь придумать ? Вектор ведь у меня только глобально не хотел объявляться, а в ф-ции норм...
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
30.10.2017, 22:28 #21
Что значит глобально? Ты его в классе описываешь или нет? Показывай.
0
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
30.10.2017, 22:32  [ТС] #22
Цитата Сообщение от nmcf Посмотреть сообщение
Что значит глобально? Ты его в классе описываешь или нет? Показывай.
Я не совсем понял о чём вы, но весь основной код лежит у меня в .h файле, где конструктор с формой...

Добавлено через 1 минуту
Глобально для меня, это что-бы объект был доступен во всех ф-циях...
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
30.10.2017, 22:48 #23
У тебя же там есть класс MyForm. В нём объявлено? Или рядом с Main()?
0
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
30.10.2017, 22:48  [ТС] #24
Скрин...
0
Миниатюры
Глобальный объект  
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
30.10.2017, 22:49  [ТС] #25
На скорей всего ужасный код не засматривайся
0
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
30.10.2017, 22:50  [ТС] #26
Вот ещё скрин
0
Миниатюры
Глобальный объект   Глобальный объект  
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
30.10.2017, 22:55 #27
Вот это прочитай: Глобальные переменные
Обычный std::vector попробуй.
0
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
31.10.2017, 18:53  [ТС] #28
nmcf, Я так уже пробовал, не прокатило Точнее красным подчёркнуто не было но при компиляции ошибку писало.
Кстати, я решил сделать тоже самое, только на C#. Можете перевести эту строку кода с с++ на C#:
C++
1
HANDLE H = CreateFileA(patch, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS, NULL);
Импорт везде разный...
C++
1
2
3
4
5
6
7
8
9
[DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr CreateFile(
            string lpFileName, 
            uint dwDesiredAccess,
            uint dwShareMode, 
            IntPtr lpSecurityAttributes, 
            byte dwCreationDisposition,
            short dwFlagsAndAttributes, 
            IntPtr hTemplateFile);
0
nmcf
5754 / 5065 / 1732
Регистрация: 14.04.2014
Сообщений: 20,749
31.10.2017, 19:21 #29
Зачем? В C# свои возможности для работы с файлами.
0
Zagadohnik37
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 289
31.10.2017, 19:35  [ТС] #30
Цитата Сообщение от nmcf Посмотреть сообщение
Зачем? В C# свои возможности для работы с файлами.
Это да, но так проще, да и после этого кода файл или папка становятся полностью недоступными(то есть ни прочитать ни изменить), а мне это и нужно(не хочется, что-бы кто-то случайно или нет удалил мой файлик...или узнал,что в нём...
0
31.10.2017, 19:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2017, 19:35
Привет! Вот еще темы с ответами:

Может ли объект-член, или объект-элемент достучаться к содержащему его? - C++
Предположим, class A { ... }; class B { .... A a; ... };

интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект - C++
Привет всем. Необходимо реализовать интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект. Не...

Как преобразовать ссылку на объект в указатель на этот объект? - C++
Как преобразовать ссылку на объект в указатель на этот объект? Буду благодарен за помощь.

Основы: указатель на объект или объект, что выбрать? - C++
Не до конца понимаю (или вообще не понимаю) когда лучше использовать указатель на объект, а когда объект. Например: // есть класс ...


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

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

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