Форум программистов «Весельчак У» |
|
Начало | Помощь | Поиск | Календарь | Почта | Войти | Регистрация |
31
: 30-01-2025 11:53
|
||
Автор mikkijon - Последний ответ от RXL | ||
Таблицу сперва надо создать, прежде чем в нее вставлять строки. Создание таблицы включает задание имени таблицы, а так же имен и типов колонок. Для SQLite можно не задавать типы, они будут по умолчанию строками.
|
32
: 30-01-2025 09:41
|
||
Автор mikkijon - Последний ответ от mikkijon | ||
Приветствую Друзья!!! Объясните пожалуйста мне, один нюанс в табличной модели. Я уже который день голову ломаю Начну с самого начала вернувшись обратно к своей любимой теме, "Создание СУБД"..... Изучаю я по книге: Прохорёнок Н.А. Дронов В.А. - Python 3 и PyQt6 Разработка приложений. там указан листинг: Код: from PyQt6 import QtCore, QtGui, QtWidgets, QtSql Цитата Process finished with exit code -1073740791 (0xC0000409). И как не меняй функцию: Цитата "addRecord" if stm.value("category") == []: # Вставляем пустую запись, которую пользователь сможет ввести нужные данные stm.insertRecord(stm.rowCount()) или if stm.Null == True: # Вставляем пустую запись, которую пользователь сможет ввести нужные данные stm.insertRecord(stm.rowCount()) все равно выходит сообщение: Цитата Process finished with exit code -1073740791 (0xC0000409) |
33
: 14-01-2025 18:52
|
||
Автор Boriska - Последний ответ от Boriska | ||
на MFC делал так,
Код: класс моей кнопки |
34
: 14-01-2025 13:15
|
||
Автор WWX - Последний ответ от Ochkarik | ||
WWX,
Цитата To edit the Registry and disable paging kernel-mode stacks https://learn.microsoft.com/ru-ru/windows-hardware/drivers/debugger/gflags-flag-tableClick Start > Run and type regedit. In the left pane of the Registry Editor, navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager. In the right pane, right‐click GlobalFlag and select Modify. With Base Hexadecimal, type value 80000, which corresponds to FLG_DISABLE_PAGE_KERNEL_STACKS. Click OK and exit the Registry Editor. Reboot the guest system for this change to take effect. оказывается. чем люблю такие вопросы - сам образовываюсь))) |
35
: 14-01-2025 12:54
|
||
Автор WWX - Последний ответ от WWX | ||
Ну, то что локальные переменные размещаются на стеке я знал, а вот всё остальное... не знал. Буду знать – одной параноей меньше.
Спасибо в любом случае. В общем-то иначе вообще не понятно как жить – например, обработчики прерываний (ISR'ы) тогда бы не могли безопасно иметь своих локальных переменных, учитывая на каких IRQL им приходится выполняться. Насчёт флага, я так понял, что это флаг некоторой тулзы для отладки или типа того... Могу ошибаться... |
36
: 12-01-2025 06:49
|
||
Автор Boriska - Последний ответ от Boriska | ||
MFC, API. Вчера научился делать элипсное окно из диалога на MFC при помощи региона, а вот кнопки на нем не удалось сделать элипсные. И нарыл вот у вас статью по компонентам https://club.shelek.ru/viewart.php?id=318#post_live-menu прочту.
А насчет C#, там я компоненты делал и все получалось, но были они все только прямоугольные, хотелось бы тоже "скруглять". Да на Windows Forms. |
37
: 12-01-2025 03:47
|
||
Автор Boriska - Последний ответ от Джон | ||
Привет, эммм не совсем понятно, так на (в) чём ты хочешь их делать? MFC или таки на С#? Если последнее, то Windows Forms? WPF?
зы я понимаю, что вопрос задан в теме MFC, но всё-таки |
38
: 11-01-2025 10:30
|
||
Автор Boriska - Последний ответ от Boriska | ||
Привет ув. форумчане.
Пишу программы на MFC и на С#. Когда то хотел сделать на MFC (API) свой контрол, ничего не вышло. На С# делал, но это были только прямоугольные контролы как сумма базовых. Подскажите куда рыть-копать чтобы разобраться как можно делать окна (контролы) произвольной формы, цвета, поведения и т.д. Если я чего то накалякал не того, исправьте мой опус чтобы постановка задачи стала правильной. |
39
: 10-01-2025 15:38
|
||
Автор WWX - Последний ответ от Ochkarik | ||
WWX, Если переменная объявлена в теле функции - она размещается в стеке (текущего контекста - читай процесса).
А стек.... хороший вопрос.... Стек процесса наверное должен быть в несвопируемой области. По крайней мере пока процесс активен. Тем более он обычно небольшой, три страницы всего... Using the Kernel Stack да, вроде пишут что при активном процессе - его стек в памяти. в неактивном - может быть выгружен, но это можно отключить при помощи KeSetKernelStackSwapEnable(). еще вот тут пишут про флаг какой то Disable paging of kernel stacks - FLG_DISABLE_PAGE_KERNEL_STACKS . видимо это какой то флаг, только непонятно чего. процесса наверное? и наверное это не очень хорошая практика. Цитата Stack swapping can occur only if the thread is in a wait state that was caused by a request from a user-mode application. Stack swapping never occurs for wait states that are initiated by kernel-mode components, regardless of whether stack swapping is enabled. |
40
: 10-01-2025 14:45
|
||
Автор WWX - Последний ответ от WWX | ||
Ух, большое спасибо за развёрнутый ответ.
Я не указал, что перед этой ф-цией у него стоит директива: Код: (C++) #pragma LOCKEDCODE чем по идее и обеспечивается невыгружаемость; но, похоже, сути дела это не меняет.На самом деле эта ф-ция, говоря простым языком, – обработчик IOCTL'ов и вызывается, как я понимаю, на уровне PASSIVE_LEVEL. Т. е. с одной стороны когда управление "проходит" по этому (PAGED_CODE) макросу – IRQL не слишком высокий, но ненадолго повысится вдальнейшем внутри этой ф-ции. (Похоже что, почти нашёл почти ошибку у самого Они.) Как я понял по вашим ссылкам, по-умолчанию ф-ция и так размещается в неперемещаемой памяти, если не указывать чего-то вроде: Код: (C) #pragma alloc_text(PAGE, DispatchControl) Правда у меня возникла небольшая параноя: Если переменная oldirql (в которой сохраняется старый IRQL) объявлена как локальная в этой (DispatchControl) ф-ции (а где бы ей ещё быть?), так вот, если она объявлена как локальная, то может ли так получиться, что на момент вызова Код: (C++) KeReleaseSpinLock(..., oldirql); она (переменная) будет выгружена из памяти?Т. е. сама ф-ция вроде бы помещается в .text который будет гарантированно в невыгружаемой памяти. А есть ли гарантия, что её локальные данные также будут в невыгружаемой памяти? (Ведь на момент вызова KeReleaseSpinLock – IRQL должен быть DISPATCH_LEVEL.) |