nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 16 Apr 2024 10:00



Reply to topic  [ 67 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Win32 вопросы 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
DimkaM wrote:
А пока его не будет в контролсах - он не будет рефрешица

Он уже не рефрешится.

DimkaM wrote:
В твоём случае можно заранее создать DataTable(и тп), заполнить и подцепить к DataGridView

Ключевое слово заполнить - быстрее, чем заполняется не будет.
А заполнять, как ни крути, время нужнО.
Lavr wrote:
Попробовал опцию "загрузки" без обращения к дисковому буферу - просто возвращал принудительно
байт 00Н - для 15.000 позиций время всё-равно реально требуется, на быстром компьютере - конечно
же всё будет быстрее.

"Загрузка" без обращения к дисковому буферу - это и есть просто заполнение байтом.

Да в общем-то скорость сейчас нормальная - это мне на ноуте с 366 МГц казалось, что медленно,
на ноуте с 2.5 ГГц - так уже не кажется. :wink:

_________________
iLavr


11 Feb 2014 16:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Что-то у меня тут под Вендой 7 проблема возникла совершенно неожиданная... :(

Компилятор ресурсов стал прописывать пути для ресурсов в файл *.rc вот так:

MAINICON ICON "C:\\PROGRAM FILES\\SAMPLES\\MY_PROG\\BINEDIT\\DOC.ICO"
MYDLGICO ICON "C:\\PROGRAM FILES\\SAMPLES\\MY_PROG\\BINEDIT\\DLG.ICO"
MYDLCURS CURSOR "C:\\PROGRAM FILES\\SAMPLES\\MY_PROG\\BINEDIT\\HAND.CUR"


То есть в путях слэши почему-то стали двойные... :o

После чего такой файл BINEDIT.rc сам же компилятор компилировать не может.
Пишет - ошибка.

Если поправить слэши вручную обратно в "правильные" - то компилирует нормально.

Но я уже понял, что под Вендой 7 многим программам (если не всем) путь передается
с двумя слэшами (или это как-то при передаче происходит).
Из-за чего некоторые старые программы не могут открыть назначенные для них файлы.

Погуглил - да, проблема встречается не только у меня. Но с чем она связана и как её порешать,
явного ответа пока не нашел... :(

Возможно, кто из наших коллег знает?

_________________
iLavr


13 Feb 2014 23:08
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Reply with quote
Post 
два бекслеша это по сишному - видимо кто-то из мелкомягких программистов попутал и вытащил чисто программное написание на уровень пользователя...

_________________
:dj: https://mastodon.social/@Shaos


13 Feb 2014 23:17
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
два бекслеша это по сишному ...

Да, я прочитал такую версию, что "по сишному" один бекслеш якобы "маскирует" другой.

Но как соотнести это с путями. :(

У меня была давно такая проблемка с одной всего программой уже и не помню на какой машине.
Порешал, помню, в лобовую: написал для программы "стартер" с её именем, а саму программу -
переименовал. "Стартер" получал "неправильные" пути, переделывал их в "правильные" и с ними
вызывал саму программу.

Но это ведь как "удалять гланды... автогеном... через жопу..."! :o

Что-то вроде пытается прояснить статья: Slash и backslash: вехи на пути, но как-то не очень внятно... :-?

_________________
iLavr


13 Feb 2014 23:39
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
При перетаскивании и "выполнить с помощью" за прием командной строки с путем отвечает
функция API:

GetCommandLineA()

Проверил её отдельно на маленькой программке - возвращает нормальный путь, правда
в кавычках, что значит передачу длинных имён...

Значит глюк двойных слешей возникает не здесь.

_________________
iLavr


14 Feb 2014 02:01
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Lavr wrote:
некоторые старые программы не могут открыть назначенные для них файлы.... :(

С этим разобрался, просто теперь для вот этой папки:

C:\PROGRAM FILES\ у Венды 7 нет короткого имени C:\PROGR~1\

Это приводит в ступор некоторые старые программы.
И я даже не знаю, как это исправлять... :(

_________________
iLavr


14 Feb 2014 04:48
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
С этой проблемой многие столкнулись, поскольку у всех есть свои какие-то нужные старые
программы, которые люди тащут за собой на Винду_7, а эти училиты никак не понимают
длинное имя "PROGRAM FILES".

Выход подсказывают такой: прежде всего в корне диска С:\ выполнить команду:

dir /x

она показывает имена в формате 8.3 наряду с длинными.

И если у PROGRAM FILES нет короткого имени PROGRА~1, то надо попробовать
его сделать.

Сначала формирование имен в формате 8.3 надо разрешить в принципе:

С:\fsutil behavior set disable8dot3 0

если это произошло успешно, то формируем короткое имя:

С:\fsutil file setshortname "PROGRAM FILES" "PROGRA~1"

Первая операция у меня удалась, хотя я её и сделал через редактор реестра - там
это значение "0" надо выставить в параметре NtfsDisable8dot3NameCreation.

А вот со второй операцией - фиаско полное... Хотя я единственный пользователь-
админ своего ноута, доступ к этой операции мне Венда 7 никак не даёт! :lol:
Хотя я уже выполнил кучу ухищрений из хелпов и интернета, чтобы своим жестким
диском овладеть! 8)

_________________
iLavr


14 Feb 2014 10:31
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Reply with quote
Post 
Есть способ решить твои проблемы :)

1. ставишь на свой новомодный ноут один из последних линухов
2. на линух ставишь VirtualBox (в дебиане вроде доступен из стандартных пакетов)
3. инсталлируешь в VirtualBox самый лучший дос "Зло-98SE" ;)
4. получаешь винду в окошке :)

_________________
:dj: https://mastodon.social/@Shaos


14 Feb 2014 10:54
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Если ты обратил внимание, то я к этому с разных сторон и прицениваюсь! :lol:
Но перед п. 1, и пока на диске нет множества программ, я помучаю всё же "Зло 7"! 8)

Пока не сломается... :wink:

_________________
iLavr


14 Feb 2014 11:00
Profile
Maniac

Joined: 22 Jun 2005 04:35
Posts: 260
Location: МО Россия
Reply with quote
Post 
У меня откуда то уже есть короткие имена. вин7х64
Может это потому что ты через реестр короткие имена включал, а не через CMD от имени администратора?


14 Feb 2014 11:44
Profile ICQ
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Reply with quote
Post 
Ну про VirtualBox речи пока не шло - я только сегодня вспомнил про такой вариат, который кстати у меня самого давно имеется - просто есть пара старых полезных виндовых программок, которые не работают в Wine, вот для них у меня VirtualBox и установлен с 98SE в нём - там удобно тем, что образ диска в файле и этот файл можно бекапать, т.е. что-то сломал - откатил файл обратно и играешься дальше :)

_________________
:dj: https://mastodon.social/@Shaos


14 Feb 2014 11:57
Profile WWW
Maniac

Joined: 22 Jun 2005 04:35
Posts: 260
Location: МО Россия
Reply with quote
Post 
Сменить шортнейм не даёт.
Но удалось сменить шортнейм у програмфайлса, из под рекавери консоли.
D:\>windows\system32\fsutil file setshortname "Program Files" PROGI

Я так думаю потому что, какие нить проги и дллки запущены из програмфайлсов, по этому не даёт переименовать шортнейм


14 Feb 2014 12:16
Profile ICQ
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
DimkaM wrote:
У меня откуда то уже есть короткие имена. вин7х64

Похоже, что у меня Венду ставили при запрещенных коротких именах.
Потому что у меня только одно короткое имя папки "Total Commander" - которую я сам ставил.
Больше коротких имен ни у одной длинной папки нет.

А сейчас, когда короткие имена разрешены, они создаются одновременно с длинными.
Я в папке WinUtils специально создал для проверки "Program Files" - и у него сразу было
короткое имя PROGRА~1.

Вся "теория" с именами следующая:
Quote:
В системах Windows Server 2008/2003, Windows 7, Windows Vista и XP файловая система NTFS по умолчанию назначает имена в старом формате 8.3 для каждого файла с длинным форматом файлового имени, чтобы предоставить возможность старым приложениям иметь к ним доступ. Если вы не пользуетесь старыми приложениями или файловый сервер сильно нагружен, то настройка или даже отключение имен 8.3 может значительно увеличить производительность файловых операций.

В соответствии со стандартными настройками, имена 8.3 устанавливаются на базе выбора разделов. Имена 8dot3 можно отключить вообще, а можно отключить для всех томов, кроме системного тома или раздела.

Эта функция регулируется ключом реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation

Установите для NtfsDisable8dot3NameCreation любое из следующих значений:
0 – включить генерацию имен 8dot3
1 – отключить генерацию имен 8dot3
2 – включить генерацию имен 8dot3, базирующихся на выборе разделов (по умолчанию)
3 – отключить генерацию имен 8dot3 для всех разделов, кроме системного

Также эту функцию можно настроить путем непосредственного редактирования ключа реестра или с помощью команды fsutil

Команда fsutil
1. Нажмите Пуск – в строке поиска введите cmd, щелкните по пункту правой кнопкой и выберите «Запуск от имени администратора».
2. В командной строке введите следующее:
fsutil 8dot3name set <0,1,2,3>
где 0, 1, 2, 3 – соответствующие значения.
Перезагрузите систему, чтобы изменения вступили в силу.

_________________
iLavr


14 Feb 2014 12:51
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Ну про VirtualBox речи пока не шло - я только сегодня вспомнил про такой вариат,
который кстати у меня самого давно имеется

Я про него и сам давно знаю. Я ж искал себе различные эмуляторы DOS и читал про них
довольно много.

_________________
iLavr


14 Feb 2014 12:56
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22519
Location: Silicon Valley
Reply with quote
Post 
Кстати вроде DOS на VirtualBox как раз и не поставить - это должна быть более-менее современная ОС с гостевой поддержкой - для доса есть DosBox :)

P.S. хм, DOS в списке есть, однако "Only limited testing as part of system installation processes has been performed"...

P.P.S. VirualBox умеет даже Mac OS X Server (Leopard, Snow Leopard) запускать :o

P.P.P.S. Кстати наоборот тоже можно - поставить VirualBox в Зло-7 и гонять в нём разные линухи из списка :)

_________________
:dj: https://mastodon.social/@Shaos


14 Feb 2014 13:02
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 67 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.