Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» WinXP и Dos-программа, нехватка памяти

Автор: Namig
Дата сообщения: 14.05.2004 02:55
ОС - Win XP Pro SP1
ОЗУ - 512 Mb
Dos-программа - специфическая химическая программа (Excerp)
Ошибка выдается только при нажатии F3 для вызова меню.
Программа под Win98 работает нормально
суть ошибки
"Insufficient memory available. EXCERP requires 450 Kb of free memory. Check by running chkdsk."
проверка не помогает. mem /c дает largest available upper memory block 71.6 Kb.
Не предлагать программы эмулирующие DOS. Предлагать, какие команды нужно дописать в config.nt и autoexec.nt, чтобы увеличить память (досовский) для нормальной работы программы. или другое решение. Отказаться от Win XP не собираюсь
Спасибо большое заранее всем , кто отзовется.

Автор: tumber
Дата сообщения: 14.05.2004 11:13
Namig

Цитата:
EXCERP requires 450 Kb of free memory.


Цитата:
largest available upper memory block 71.6 Kb

Обычная память и верхняя память - не одно и то же.

Цитата:
Программа под Win98 работает нормально

Сделай на рабочем столе ярлык для запуска программы, и в его свойствах попробуй указать режим совместимости с Windows 98.
Или поэкспериментируй на вкладке "Память". Были случаи, когда для запуска досовских программ приходилось ограничивать доступную им память.
Автор: Namig
Дата сообщения: 22.05.2004 21:30
не помогает.
может кто еще что подскажет.
спасибо - заранее
Автор: Smitis
Дата сообщения: 24.05.2004 09:37
Namig
А причём сдесь chkdsk? Может программа просто не может определить количество свободного места на диске (у досовских программ такое бывает на больших разделах)? Или не может работать на NTFS (и такое бывает)?
Автор: mmt
Дата сообщения: 24.05.2004 10:51
Хех. У меня еще хуже - и на ХР и на 2000 фоксовые программы в полном окне просто зависают, а в оконном режиме работают нормально! Уже наигрался и с ярлыками и с эмуляциями
Никто не сталкивался с такой бедой? Интересно как это лечится?
Автор: timoha
Дата сообщения: 24.05.2004 14:20
Попробуй в \windows\system32\config.sys прописать

Files=110 - например и затем
DOS=HIGH, UMB
Автор: mmt
Дата сообщения: 24.05.2004 15:10
timoha
Неа. Не катит. Еще варианты есть?

Добавлено
насколько я понимаю, здесь дело в распределении памяти для дос приложений.
Вот только не могу понять как этот вопрос решить. Памяти всего 256, причем встроенное видео, которое тоже немало кушает
Автор: Smitis
Дата сообщения: 24.05.2004 17:36

Цитата:
Попробуй в \windows\system32\config.sys прописать

Наверное всё-таки в config.nt?
Автор: tumber
Дата сообщения: 24.05.2004 17:58
Namig
Использует ли программа расширенную память, или работает только с обычной?
Есть ли какое-либо руководство по ней? Если использует, то там это должно быть сказано.

Добавлено
mmt

Цитата:
фоксовые программы

На FoxPro 2.6 ? Может, здесь ответ найдется: http://www.foxpopuli.narod.ru/
Можно там на форуме спросить.
Автор: Namig
Дата сообщения: 25.05.2004 02:55
для программы нет описания.
не знаю, какую память она использует
диск не NFTS, а FAT
спасибо tumber
дело в том, что программа работает нормально, только при вызове меню с помощью F3 не хватает ей памяти. причем это в разных машинах, с разными дистр XP или 2000
жду конструктивных решений
спасибо всем
Автор: mmt
Дата сообщения: 25.05.2004 08:17
tumber
Спасибо за ссылку. http://www.foxpopuli.narod.ru/utils.htm
Пара неплохих утилит, сейчас опробую, по описанию должны помочь!
Автор: tumber
Дата сообщения: 25.05.2004 15:03
Namig
Попробуй в config.nt изменить NTCMDPROMPT - убрать/поставить rem.
Автор: alexei111
Дата сообщения: 25.05.2004 21:47
Namig
Убедись, чтобы переменная VDD имела значение "" по следующему пути в реестре
HKLM\System\CurrentControlSet\Control\VirtualDeviceDrivers
А также попробуй убрать все лишнеее из autoexec.nt
Автор: Looking
Дата сообщения: 10.06.2004 17:37
Namig
В config.nt должно быть
dos=high, umb
device=%SystemRoot%\system32\himem.sys
EMM = RAM
Автор: Namig
Дата сообщения: 11.06.2004 10:34
Looking
не помогает
в любом случае спасибо
жду других решений
Автор: uzkhadmin
Дата сообщения: 11.06.2004 12:35
Namig
Сделай как сказал Looking только не там, а в файле config.nt есть параметр указанный timoha

Цитата:
Files=110 - например и за

так где-то 500, а вообще по пробуй просто ставить разные параметры, может быть один из них и тебе подойдет.
Это раз, а два я не знаю говорили ли теде, но в ярлыке запуска подправь параметры запуска, а именно убери все Авто и поставь максимальное число. Теперь должно работать без глюков. На вопрос делал ли я это сам, отвечаю, да, и регулярно.
Автор: Namig
Дата сообщения: 14.06.2004 15:58
uzkhadmin
Где вы видели config.sys в WinXP? там только .nt
так что, жду решений
перевробовал. играл с параметрами запуска
Автор: Looking
Дата сообщения: 14.06.2004 17:09
Namig
Дай содержание имеющихся autoexec.nt и config.nt (естественно без REM). Возможно там что-то лишнее запускается и съедает нижнюю память.

Еще настрой _default.pif (находится в директории %SystemRoot%, где %SystemRoot% - это директория, куда устанавливали Windows). В свойствах данного файла и исправить параметры:
В закладке memory
Extended (XMS) memory 8192
Initial environment 2048
Остальные параметры поставить Auto

Если вопрос касается кол-ва открытых в DOS файлов, то там кроме Files=110 (или больше) для Win ME есть рекомендация указать в System.ini [386 Enh] PerVMFiles = 220. Попробуй тоже

Возможна также проблема с дисковым пространством. Некоторые старые программы не понимают длинные и кирилические пути (типа на рабочем столе) каталог программы надо записато в корень. А также бывают проблемы с большими разделами (>2Gb). Можно попробывать записать программу на раздел с FAT16. А также настроить переменные среды (SET TEMP= и д.р. на этот диск с короткими путями). Возьми какой нибудь старый маленький диск, чтобы не возиться с основным. Если нет такой возможности, то для операций с HDD можно использовать http://knyaz82.narod.ru/down/partmag_8_in_1.zip
Операции надо проводить с UPS (вдруг выключат питание) и на всякий случай, если число логических дисков >1 важные документы сбросить на раздел, который не будет изменяться, говорят бывают проблемы с русскими именами (хотя у меня их не было).

Если программа не очень большая скинь мне на мыло в архиве (Адрес в сообщении). Посмотрю, что и как.
Автор: uzkhadmin
Дата сообщения: 15.06.2004 12:25
Namig

Цитата:
config.sys

Извините, ошибся расширением, конечно же config.nt но суть от этого не меняется.
Автор: Namig
Дата сообщения: 21.06.2004 15:49
Looking
Адреса не вижу, хочу отправить Вам прогу
Спасибо Вам
Автор: uzkhadmin
Дата сообщения: 22.06.2004 10:05
Namig
Можешь мне скинуть адрес в ПМ.
Автор: Namig
Дата сообщения: 01.07.2004 23:49
никаких решений больше?
не слышно от Вас ничего
Автор: dimkaclipper
Дата сообщения: 29.07.2004 23:37
Namig
Еще 1 попытка средствами системы...........
То что должно грузиться в Config.nt
dos=high, umb
device=%SystemRoot%\system32\himem.sys
EMM = RAM
fileshigh=40 // можно поиграться в сторону уменьшения
buffershigh=20 // можно поиграться в сторону уменьшения

Как я понял проблемы с кол-вом открытых файлов нет , поэтому уменьшай , это немного
увеличит память для этой задачи.


В Autoexec.nt
Отключи
lh %SystemRoot%\system32\mscdexnt.exe

В свойствах ярлыка программы обязательно поставь галку Эмуляция совместимого аппаратного таймера. Там же в свойствах ярыка закладка ПАМЯТЬ , везде поставь
AUTO.

Если не получится можешь мне ее выслать.
Адрес в PM
Автор: Namig
Дата сообщения: 05.09.2004 12:25
Вот полная картина mem
Name Size in Decimal Size in Hex
------------- --------------------- -------------
SYSTEM 208880 (204.0K) 32FF0
MOUSE 12528 ( 12.2K) 30F0
MSCDEXNT 464 ( 0.5K) 1D0
REDIR 2672 ( 2.6K) A70
DOSX 34848 ( 34.0K) 8820
KB16 6096 ( 6.0K) 17D0
FREE 1104 ( 1.1K) 450
FREE 1120 ( 1.1K) 460
FREE 59792 ( 58.4K) E990
Total FREE : 62016 ( 60.6K)
Total bytes available to programs (Conventional+Upper): 677744 (661.9K)
Largest executable program size : 614480 (600.1K)
Largest available upper memory block : 59792 ( 58.4K)
1048576 bytes total contiguous extended memory
0 bytes available contiguous extended memory
941056 bytes available XMS memory
MS-DOS resident in High Memory Area


Проблема остается все еще.
Установил TameDos. никак не помогло
там просто мониторинг не более того
помогите.
Автор: Looking
Дата сообщения: 05.09.2004 13:32
Там проблема скорее в операционке. Дело в том, что пробывал под чистым DOS 6.22 - также проблемы, а в Win 98 все работает даже при меньшем объеме основной памяти, чем получалось добиться под Win 2000, XP, DOS. Пробывал ставить Win 98 под виртуальной машиной в Win XP - также проблема.
И похоже проблема не в памяти, а в способе взаимодействия с диском.
Автор: arc
Дата сообщения: 06.09.2004 06:39

Цитата:
Пробывал ставить Win 98 под виртуальной машиной в Win XP



Попробуй запустить прогу на новой инсталляции Вин98. Может в текущей что-нибудь "помогает" ей работать?
Автор: Looking
Дата сообщения: 06.09.2004 16:13
arc
В чистом 98 все работает, все другие варианты и комбинации которые пробывал дает ошибку. При этом новая и ли старая установка 98 совершенно ни причем. Для чистой 98 прога работает, как под самой виндой, так и при загрузке в режиме командной строки, в том числе и с дискетки, а также в случае установки только системных файлов без всей Винды. А в виртуалке я и пробывал просто установив только системные файлы (как в дискетке) и в режиме командной строки (чистого DOS).
Автор: RandomUser
Дата сообщения: 06.09.2004 22:31
"C:\WINDOWS\_default" в свойствах, в памяти попробуйте поставить все на авто иль на нужный размер должно заработать...и в свойствах ярлыка запуска проги тож самое прописать нуна (АВТО)....у меня так парус досовский заработал на ХР без тормозов......
Автор: arc
Дата сообщения: 07.09.2004 05:38
Looking
У тя виртуалка какая? ВМваре 4.5.2 или МС Виртуал ПиСи?
Автор: Looking
Дата сообщения: 07.09.2004 08:38
arc
Я пробывал в Connectix Virtual PC. Но суть не в этом. Там хотя и сообщается об проблеме памяти, но у меня большое подозрение, что имеется в виду дисковое пространство. Что-то прога не так находит/определяет и дает ошибку. Реальную помощь может оказать кто-нибудь хорошо знающий Ассемблер и сумеющий в дебагере отследить в чем на самом деле проблема.. А на чисто системном уровне, увеличивая/манипулируя памятью решить проблему врятли удастся. Как я уже писал
Цитата:
в Win 98 все работает даже при меньшем объеме основной памяти, чем получалось добиться под Win 2000, XP, DOS

Страницы: 12

Предыдущая тема: BSOD в win98


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.