Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330

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

30.10.2017, 17:28. Показов 2980. Ответов 49

Студворк — интернет-сервис помощи студентам
Есть у меня приложение с формой Win Forms(CLR) Ну у меня весь код соответственно в .h файле. Как там объявить вектор, что-бы его можно было использовать во всех ф-циях? Вот вектор: std::vector < HANDLE > Hl;
Пишет, что член класса управляемый не может относиться к типу класса не управляемый ...\MyForm.h
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2017, 17:28
Ответы с готовыми решениями:

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

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

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

49
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
31.10.2017, 21:44
Студворк — интернет-сервис помощи студентам
Я вообще не знал, что так можно сделать. Какая-то неясная возможность.
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
31.10.2017, 21:44  [ТС]
Эх... с CreateFile всё идеально работало... Я с ним даже такую полезную ф-цию сделал:
C++
1
2
3
4
5
6
7
8
9
private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
    HANDLE H = CreateFileA(LPCSTR((char*)Marshal::StringToHGlobalAnsi(textBox1->Text).ToPointer()), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS, NULL);
    if (H == INVALID_HANDLE_VALUE) {
        addb->Enabled = false;
        DWORD gle = GetLastError();
        addb->Text = "Добавить (Код ошибки: "+ String::Format("{0}", gle) +")";
    }else { addb->Enabled = true; addb->Text = "Добавить"; }
    CloseHandle(H);
}
Добавлено через 32 секунды
Цитата Сообщение от nmcf Посмотреть сообщение
Я вообще не знал, что так можно сделать. Какая-то неясная возможность.
Вы про что?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
31.10.2017, 21:54
Заблокировать папку.
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
31.10.2017, 22:04  [ТС]
Дааа, РАБОТАЕТ!
C#
1
2
3
4
5
6
7
8
9
10
[DllImport("Kernel32.dll", SetLastError = true)]
        static extern IntPtr CreateFile(
            string lpFileName,
            [MarshalAs(UnmanagedType.U4)] FileAccess dwDesiredAccess,
            [MarshalAs(UnmanagedType.U4)] FileShare dwShareMode,
            IntPtr securityAttributes,
            [MarshalAs(UnmanagedType.U4)] FileMode dwCreationDisposition,
            uint dwFlagsAndAttributes,
            IntPtr hTemplateFile
        );
И использование:
C#
1
IntPtr H = CreateFile("Путь или файл", FileAccess.Read, FileShare.None, IntPtr.Zero, FileMode.Open, 0x02000000 | 0x01000000, IntPtr.Zero);
Теперь помогите, как сделать такую проверку:
C++
1
2
3
if (H == INVALID_HANDLE_VALUE) {
        DWORD gle = GetLastError();
        addb/*(button)*/->Text = "(Код ошибки: "+ String::Format("{0}", gle) +")"; }
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
31.10.2017, 22:09
А что не получается? Двоеточия на точку замени.
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
31.10.2017, 22:11  [ТС]
C++
1
if (H == INVALID_HANDLE_VALUE) {
Как вот это сделать?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
31.10.2017, 22:17
Попробуй привести к int.
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
31.10.2017, 22:50  [ТС]
КАК? Можно код хоть разок?

Добавлено через 28 минут
Жаль, что за всё время, ты дал мне всего-лишь пару подсказок
Вот код:
C#
1
2
3
4
5
6
7
8
9
static extern /*IntPtr*/SafeFileHandle CreateFile(...
 
SafeFileHandle H;...
 
H = CreateFile("путь", FileAccess.Read, FileShare.None, IntPtr.Zero, FileMode.Open, 0x02000000 | 0x01000000, IntPtr.Zero);
            if (H.IsInvalid) {
                int le = Marshal.GetLastWin32Error();
                MessageBox.Show("Код ошибки: " + le.ToString(), "Ошибка");
            }
Добавлено через 20 секунд
C#
1
using Microsoft.Win32.SafeHandles;
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
31.10.2017, 22:56
C#
1
H.toInt64()
Там же есть справка.

Добавлено через 1 минуту
С таким надо в раздел C# идти.
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
31.10.2017, 23:10  [ТС]
Если есть какие-нибудь идеи, то буду раз их увидеть...
(То, что я пытался сделать на c++ https://yadi.sk/d/gwLeghaf3PHNQJ)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.10.2017, 23:10

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

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

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

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

Зачем при перегрузке оператора >> в параметр включать ссылку на объект, а не сам объект?
Зачем в параметры функции включать ссылку на объект: istream &amp;operator&gt;&gt;(istream &amp;stream, myclass &amp;ob) Почему не работает так:...


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

Или воспользуйтесь поиском по форуму:
50
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru