Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Изменилась именно 7-ка. В общем везде, где использовалась эта функция, она у всех возвращает 0... Что-то намутили они - заменили её макросом, который вызывает единственную функцию ядра. Как-то так пишут... И начиная с 7-ки такие программы стали вылетать с ошибкой. Просто я раньше этого не видел, а теперь проверил на обоих ноутбуках.
_________________ iLavr
|
28 Jan 2023 14:26 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21376 Location: Silicon Valley
|
А как она изменилась то? Обновление безопасности чтоли неожиданно прилетело?
Ты же сам пишешь, что раньше всё работало
Или на семёрке никогда не работало?
|
28 Jan 2023 14:30 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
На семёрке я этих программ ни разу не запускал... А до семёрки - да, всё работало... Просто мне вчера приспичило простой перекодировщик написать, а пустой шаблон с ПрогрессБаром у меня на этот случай был... Хоп! А ПрогрессБар-то и не работает! Выяснилось, что функция АПИ CreateWindowExA(... теперь везде не работает... 
_________________ iLavr
|
28 Jan 2023 14:58 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Попробую я следующим образом обойти эту засаду, чтобы не бодаться с Вендой 7... Поставил я на Status Bar цветную синюю плоскую (flat) кнопку без имени: И буду увеличивать её размер вправо в качестве Progress Bar... Была у меня ещё под Вендой 95 маленькая утилитка - конвертор wav в mp3... Так я гнусно насмешки над автором строил - у него были самодельные Progress Bar-ы... Не овладел мол, чувачок Progress Bar-контролом. А сегодня сам целый день угробил на самодельный Progress Bar. 
_________________ iLavr
|
28 Jan 2023 18:07 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21376 Location: Silicon Valley
|
Фигово - можешь перейти на универсальные межплатформенные средства разработки приложений типа wx-widgets или Qt - получишь возможность собирать не только под винду, но и под макось и линух…
|
28 Jan 2023 18:48 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А зачем мне это надо? Я не профессиональный программист, и засорять себе этим голову я совершенно не вижу необходимости. Я пишу простенькие программки которые мне в конкретный момент нужны. В данном случае хотел написать перекодировщик битмап-файла в бинарный файл под структуру экрана вот этого проекта: http://www.nedopc.org/forum/viewtopic.php?p=168068#p168068И в принципе это можно сделать и безо всякого Progress Bar-а. Просто он удобен тем, что видишь: программа не зависла - Progress Bar двигает... Да и просто меня сильно удивило - почему Progress Bar, сделанный по всем рекомендациям М$, https://learn.microsoft.com/en-us/windows/win32/controls/progress-bar-controlвдруг перестал работать... 
_________________ iLavr
|
29 Jan 2023 04:38 |
|
 |
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 834
|
Ну например, конкретно на этой страничке ничего не сказано про параметр ICC_PROGRESS_CLASS функции InitCommonControlsEx. Может быть раньше какая-то другая DLL, загружаемая по цепочке, вызывала InitCommonControlsEx с этим параметром, и ты думал, что нет необходимости это делать. А теперь они соптимизировали ту DLL (всё равно мол она не использует этот класс), или ты сам в своём проекте стал меньше других DLL подключать, а у тебя перестало работать. Как вариант.
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
29 Jan 2023 06:31 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А кто сказал, что я списывал что-то именно с этой странички? Там целый раздел, посвященный CommonControl-ам, и, в частности, Progress Bar. Если потыкать по ссылкам, там и пример на С++ есть. Как программист непрофессиональный, я всецело доверяю профессионалам от М$, а не занимаюсь гаданием, что могло бы быть... Тем более, что в данный момент это уже и не имеет значения. Вызов функции АПИ CreateWindowExA(... теперь везде не работает как раньше... А если мы не создали окно типа Progress Bar, то дальше всё бесполезно.
_________________ iLavr
|
29 Jan 2023 06:54 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21376 Location: Silicon Valley
|
Ну если мелкомягкие так кидают - скоро твои программы вообще перестанут работать в новых виндах и что делать? Десятилетиями сидеть в 98й винде?...
|
29 Jan 2023 11:37 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Многие программы, а не только мои перестают работать... и что? Такова стратегия мелкомягких, как я её наблюдаю: поманили за собой, пообещав всем программную совместимость, а теперь потихоньку совместимость вытесняют... Многие ДОС-программы не работают под Виндой 7, не потому что просто не могут, а потому что принципиально для них не написали драйверов экрана, которые в ХР ещё были. Люди вон с 1С-бухгалтерией мучаются, а мои программки такой ценности в веках не имеют... 
_________________ iLavr
|
29 Jan 2023 13:01 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Как пишут в этом нашем интернете, сделали с ней вот что: Да, действительно, в USER32.DLL так и есть: Но вот почему-то CreateWindowExA как написано не работает, и возвращает "0". 
_________________ iLavr
|
29 Jan 2023 15:25 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21376 Location: Silicon Valley
|
Ну вот народ и мигрирует в другие системы или начинает использовать межплатформенные средства разработки...
|
29 Jan 2023 16:55 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
_________________ iLavr
|
29 Jan 2023 18:10 |
|
|