Adamos, Я могу делать что угодно (в пределах разумного) при загрузке плагина. Т.е. я могу инициализирвоать хоть QT, хоть что-то ещё, если требуется. При загрузке плагина вызывается функция инициализации, в которой я могу сделать всё, что мне требуется для инициализации плагина. В том числе создать свой диалог и добавить его в имеющуюся палитру. И этих диалогов будет несколько десятков и в любое время их может быть от нуля штук создано во вкладках этой палитры..
Adamos, Я похож на человека, который задаёт вопрос, зная на него ответ?
Вот я могу любое HWND окно встроить в любое HWND окно. Я сликом плохо знаю QT, чтобы знать, могу ли я QT-окно встроить в любое HWND окно? Т.е. создать CWnd, в котором будет указатель на QT окно положением которого упарвляет этот CWnd. Не знаю, возможно ли такое с испоьлзованием QT.
Adamos, Мне не нужен просто диалог, мне нужен диалог, встроенный в интерфейс. В интерфйсе есть палитры с табами, где каждый таб это специальный класс-палитра, который унаследован от CDialog. У палитр docking, автосворачивание с экрана и прочие удобства. Но всё это делается автоматически основной программой, в плагине реализуется логика простого немодального CDialog, который вставляется в эту палитру в виде вкладки.
Перед вышеперечисленным нужно вытащить SATA кабель, подуть диску в щелочку и обратно кабель вставить. То же самое на материнке. У меня такое было из-за плохо вставленного SATA.
pqgg7nwkd4, На ум приходит разбивка вводимого слова по словарю, собранному и слов в имеющемся идентификаторе. Но тут и конфликты могут быть и пользователи любят писать с ошибками. Сразу какого-то действительно работающего решения в голову не приходит...
С другой строны, теперь кажется, что 120 мегабайт не так уж и много, браузеры гигабайты хавают только рекламным ибаннерами.)
pqgg7nwkd4, Не правильно поняли. Уточняю.
Пользователь вводит "номерКо". Программа находит все идентификаторы для "ном+ко: "номерКомнаты", "номенклатураКолошей" и т.д. Потом уже по этому списку ищет не по трём первым символам КАЖДОГО слова, а по всем символам. Либо по словам, либо по вхождению введённой части в полный идентификатор.
pqgg7nwkd4, В качестве оптимизации можно брать не более трёх первых символов в слове. Уже при наборе по всем потенциально подходящим идентификаторам (их уже будут сотни, а то и всего десятки вариантов) проверять по всем символам.
Ну и понятно, что занимаемая память и скорость поиска будут зависить от способа хранения данных, т.е. от служебных расходов на хранения каждой пары и от того, будет ли идентификатор храниться непосредственно для каждой пары или будет отдельная таблица идентификаторов и для аббревиатур будет указываться индекс идентификатора... Много чего по мелочи можно приделать всякого.
pqgg7nwkd4, Это не совсем перебор, но, в принципе, да. Вариантов будет много "для человека", "для компьютера" вариантов будет не много, буквальнов 20-50 раз больше, чем в программе есть идентификаторов, т.е. не намного больше.
SaddledSharp, А ты напили программу, показывающую диалог выбора файла на диске. Не ручками путь до файла писать, а именно GUI. Всё, это ответ на твой вопрос. Java абстрагируется от ОС и железа, а на С+ придётся использовать кросс-платформенные библиотеки, которые абстрагируют тебя от ОС и железа и там уже не отделаешься 500 строками кода.
Ivan Yakushenko, Если планируется покупка внутриигровой валюты за реальный налик, то всё становится немного сложнее... но если только то, что автор написал, то и правда всё глупее и глупее.)
wulfdog, Многие разработчики ориентируются на последнии версии ОС и драйверов, поэтому самые новые версии ПО могут работать лучше с самыми новыми версиями ОС и драйверов. Это в теории. На практике - х/з.
Эллиот Алдерсон, Я запускал вручную и не находило. Разбираться в причинах этого было лень и незачем, поэтому запустил Media Creation Tools и обновился (без создания загрузочного диска).
Ошибался :)
На вкладке General выбрать MFC Static', если это MFC приложение.
На вкладке Code Generation выбрать Multi threaded (MT).
При этом абсолютно все используемые библиотеки должы быть собраны аналогично и не требовать vcredist. Так же некоторые библиотеки может потребоваться вручную исключать из сборки.
При использовании OMP одну дополнительную библиотеку всегда придётся таскать в виде dll.
Так чт опроще сделать в виде shared библиотек, накидать их всех в папку с приложением, а потом упаковать это всё в один экзешник какой-нибудь программой типа Enigma Virtual box.
maniac_by, Если в целом по функционалу тебе подошло, напиши на почту суппорта (ссылка на сайте есть), я тебе ключик сделаю, чтобы лимита на число записей в БД не было.
Александр Таратин, Реализация зависит от компилятора. Мне безразлично, сделано через таблицу маршрутизации, if-goto или пачку if-else, меня волнует, почему ЭТО компилируется без предупреждения?!
Александр Таратин, Аналогично. В ужасе убедился, что ТАКОЕ компилируется даже без предупреждения.
Понятно, что switch это всего-лишь высокоуровневая обёртка над if-goto, но WTF???!!!