1. Заголовок или название темы должно быть информативным ! 2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК ! 4.НЕ используйте форум для личного общения! 5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Проблемы Exec в Паскале, не работают нек. программы
Я столкнулся с такой вещью - использую в своей программе Exec(); из стандартного DOS.TPU, естественно использую {$M X,X,X} и SwapVectors; в принцепе работает со многими программами, но вот все Dos варианты от Power Quest не катят!!! тоесть ни PartitionMagic, ни PartitionDriveImage - экран начинает мигать и прога завершается с DosError<>0 - кто знает в чем дело???
нет мне кажется неувязка не с памятью - а глюк процедуры SwapVectors - так как можно создать пустую прогу и она тоже не будет запускать - я пробовал разные варианты директивы {M} в следующей проге
- один хрен не работает собираюсь ближайшее время попробовать запустить с помощью Exec( getEnv('COMSPEC'), '/c pqdi.exe'); или может самому вызвать через Int21h, но должно ведь и так работать -
И вообще глюк такой странный - Partition не просто не запускается, а заливает весь экран красным фоном - выдает эмблему, затем Please Loading, и потом уже выкидывает - экран продолжает моргать красным. Возможно Partition использует нестандартный способ переключения вмдеорежима, а SwapVectors не полностью восстанавливает адреса DOS прерываний?
И вообще попоробуйте приведенный фрагмент кода с любым DOS продуктом от Partition - PM7, PM8, PM6, PQDI, PQDC - у меня везде не работает! Может у вас ситуация иначе? Я использую BP70.
а вообще если подгружен Emm386.exe - то Partition это диагностирует при запуске и говорит мол буду юзать только 32 МБ, но загружается и работает дальше вполне нормально! - это в досе а не через мою прогу! поэтому я думаю что дело не в памяти.