On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Если компьютер заболел...

Какой пользователь компьютера не мечтает о том, чтобы его электронный друг работал без сбоев? К сожалению, это желание практически несбыточно, и нередко, казалось бы, прекрасно работающая машина начинает вытворять такое:


Непредвиденные сбои в работе (или "глюки", как привычно слуху большинства пользователей компьютеров) случаются абсолютно на любых машинах, но речь пойдет о тех из них, которые "взращены" на благодатной почве операционной системы Windows. Конечно же, перед автором не стояла цель описать все возможные сбои, во многом потому, что устранение большинства "глюков" (таких, как зависание, возникновение неустранимых ошибок и т. д.) требует тщательной трассировки операций ОС, предшествовавших "моменту Х". А это, сами понимаете, осуществить достаточно трудно даже профессионалу. Речь пойдет о тех неисправностях в работе операционной системы, которые реально могут быть устранены обычным грамотным пользователем без применения какого бы то ни было дополнительного программного обеспечения. Упомянем также, что приведенные ниже примеры характерны скорее для Windows 95, нежели Windows 98. Итак, приступим.

В последнее время появилось большое количество локализированного (русифицированного) программного обеспечения. С подобными продуктами связан целый ряд специфических проблем и вопросов, некоторые из которых мы и рассмотрим.

Наиболее часто встречающейся проблемой является отсутствие необходимых библиотек DLL (Dynamic Link Library). Эту проблему легко обнаружить: обычно на этапе загрузки той или иной программы появляются соответствующие сообщения.

Причины этого могут быть различными, но чаще всего отсутствуют библиотеки Visual Basic. Это различные версии VBRUN для Visual Basic версий 1-4 или же MSVBVM для Visual Basic версий 5 или 6. Для того, чтобы вы смогли точно "опознать" ошибку, в таблице приведены имена соответствующих библиотек.

Названия библиотек VB и соответствующие им версии Visual Basic
VBRUN100.DLL Visual Basic 1
VBRUN200.DLL Visual Basic 2
VBRUN300.DLL и VB30032.DLL Visual Basic 3
VBRUN400.DLL и VB40032.DLL Visual Basic 4
MSVBVM50.DLL Visual Basic 5
MSVBVM60.DLL Visual Basic 6

Программисты - разработчики программного обеспечения - частенько забывают, что Visual Basic не компилятор и для корректной работы программ, написанных на VB, необходимы библиотеки интерпретатора. А страдаем от этого мы, пользователи. Простейшее решение этой проблемы - получение недостающих библиотек через Internet. Найти их можно, воспользовавшись поисковой системой, например FTPSearch.

Этот рецепт подходит, вообще говоря, для поиска любой отсутствующей библиотеки, за исключением DirectX и некоторых системных библиотек.

При устранении подобных проблем большое значение имеет место, где находятся файлы библиотек. Система Windows 95/98 ищет файлы библиотек в первую очередь там, куда явно прописан путь в запускаемой программе. Если путь явно определен, а файлы не найдены, то система выдаст сообще-ние об ошибке. В случае, если путь явно не задан, то операционная система ищет необходимые библиотеки в рабочем каталоге программы, затем в каталоге SYSTEM и, наконец, в каталогах, описанных системной переменной PATH.

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

Просмотреть, какое значение присвоено системной переменной PATH, можно, запустив "Сеанс MS DOS" и введя в командной строке команду SET.


Команда SET без параметров печатает все определенные переменные окружения (Environment).

Таким образом, недостаточно просто найти файлы библиотек и переписать их на жесткий диск. Необходимо поместить их в правильный каталог. В большинстве случаев подойдет WINDOWS/SYSTEM, ведь именно там хранятся практически все используемые системой библиотеки DLL.

Если при запуске программы появилось сообщение об отсутствии библиотек GLIDE.DLL или GLIDE32.DLL, не спешите их искать. Это сообщение означает, что программе для запуска требуется поддержка 3dfx. Как правило, это демоверсии игр.

Следующая проблема связана с использованием символов кириллицы в именах файлов. Вообще говоря, использовать кириллицу в названиях файлов небезопасно. Это связано с тем, что та или иная программа может просто не воспринимать кириллические символы. Самое обидное, что подобная несовместимость может проявиться не сразу, а при исключительном стечении обстоятельств. Типичные примеры - буква Ё в имени файла, или попытка подсоединения файла с некорректным именем (при использовании стандартной функции текстовых редакторов "Вставка файла").

Самое интересное, что подобные ошибки, как правило, не являются недоработкой программистов при русификации. Дело в том, что "виноваты" могут быть особенности механизма работы языка программирования с файлами. Возникновение подобных ошибок связано с тем, что в языки высокого уровня заложены механизмы проверки правильности путевых строк (Path Strings) и имен файлов. В случае, если в строке встречается недопустимый символ, возникает исключительная ситуация (Exception), и реакция программы на нее может быть любой. Поэтому лучше воздерживаться от использования кириллицы в именах файлов, особенно если они предназначены для обработки и использования другими программами.

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

Проблемы с русифицированными программами могут возникнуть, если на компьютер был установлен пакет Microsoft Plus. Они связаны с тем, что в состав MS Plus кроме игр, заставок (Screen Saver) и различных сервисных программ входят также "Темы рабочего стола". При использовании нестандартных настроек Рабочего стола шрифты, которые были присвоены ему по умолчанию, заменяются на новые, что может привести к некорректной работе - часть надписей выходит за видимую область, отображается тарабарщина и т. п. Необходимо отметить, что Microsoft Plus плохо взаимодействует и с нерусифицированными программами.

С проблемами в русифицированных программах, связанными со шрифтами, знаком практически каждый пользователь. Часть из них легко устранима, достаточно лишь сменить текущий шрифт, часть практически не влияет на работу приложения.

Сменить шрифты по умолчанию Windows можно следующим образом: нажмите правой кнопкой мышки на пустом месте Рабочего стола, выберите во всплывающем меню опцию "Свойства" и перейдите к закладке "Оформление". Теперь вы можете изменять шрифты для каждого элемента окон по своему усмотрению.

Приложения могут стать полностью неработоспособными из-за неправильно установленного шрифта в русифицированном меню.


Неправильно подобранный шрифт в Microsoft Word. Меню, как видите, совершенно нечитаемы.

Шрифты в приложении могут отличаться от установленных в Windows, в этом случае смена системных шрифтов по умолчанию не приведет к ожидаемому результату. В этой ситуации необходимо обнаружить, где приложение сохраняет информацию о шрифтах. Обычно это INI-файл или Windows Registry (системный реестр).

РЕДАКТИРУЕМ СИСТЕМНЫЙ РЕЕСТР
Если по каким-либо причинам вы решили сменить системные шрифты по умолчанию, то обратите внимание на то, что данные необходимо одинаково обновить в двух местах. Это раздел [boot] файла SYSTEM.INI и раздел HKEY_CURRENT_CONFIG/SETTINGS в системном реестре. Это делается для обеспечения совместимости со старыми приложениями Windows. Редактировать INI-файлы можно с помощью любого текстового редактора. В Windows есть два встроенных приложения для редактирования файлов WIN.INI, SYSTEM.INI, CONFIG.SYS и AUTOEXEC.BAT - они называются SYSEDIT и MSCONFIG. И то и другое вызывается вводом соответствующего названия в командной строке, появляющейся при выборе опции "Выполнить" в меню "Пуск". SYSEDIT - простейший редактор, похожий на Notepad, позволяющий кроме вышеуказанных файлов редактировать данные в PROTOCOL.INI. А вот MSCONFIG - это довольно мощное приложение с собственной справочной системой, обладающее возможностями для изменения большого количества параметров загрузки системы Windows. Системный реестр можно редактировать с помощью REGEDIT, встроенного в Windows и запускающегося аналогично MSCONFIG и SYSEDIT либо с помощью любого специализированного редактора. Все эти операции настоятельно рекомендуется выполнять с максимальной осторожностью, ведь любая ошибка неизбежно приведет к сбоям операционной системы.

Вот он, REGEDIT, предназначенный для редактирования системного реестра. По уже упомянутым причинам, в выделенные строки нельзя вводить параметры шрифтов True Type (.TTF), иначе старые программы будут слетать, а вся система - тормозить, что очень заметно на довольно слабых машинах.


Еще одна часто встречающаяся причина неработоспособности программ связана с отсутствием целевого каталога. Неоднократно приходится сталкиваться с программами, которые не желают сохранять информацию, или сохраняют ее неверно. Ошибка зачастую заключается в следующем. При записи данных не проверяется наличие целевого каталога, и в этом случае при попытке записи в несуществующий каталог возникает ошибка типа "Путь не найден", о которой не сообщается пользо-вателю. Создается иллюзия, что запись файла произошла успешно, а на самом деле данные сохранены не были. Проявляется эта проблема так: при попытке считать ранее записанный файл его либо нельзя обнаружить, либо при чтении появляется сообщение типа "File contains no data". Появление подобных ошибок связано с недостаточной отладкой программы.
Типичные симптомы проблемы отсутствия целевого каталога:
  • работа с модифицированными или заархивированными программами, в частном случае, с играми;
  • наличие пустых каталогов на момент окончания инсталляции приложения;
  • приложение производит сохранение в определенные, не выбираемые пользователем каталоги.

В этом окне редактора MSCONFIG выделены настройки системных шрифтов по умолчанию. В принципе сюда допустимо вводить названия любых шрифтов с расширением .FON.


Иногда эту проблему можно легко решить, не разыскивая Patch, а просто создав необходимый каталог. Для того, чтобы создать отсутствующий каталог, необходимо определить, где должна была сохраняться информация. В играх это обычно каталоги с именами SAVES, SAVEGAME. В более сложном случае могут отсутствовать нумерованные каталоги для сохранения информации (SAVEGAME\SAVE00 или DATA\SAVE01). Ответ на вопрос, каким должно быть имя отсутствующего каталога, если повезет, можно получить из соответствующего программе INI-файла. Еще один путь поиска имени недостающего каталога - это изучение инсталляционного пакета. Во-первых, в нем может полностью находиться все дерево каталогов программы, а во-вторых, в файлах INI или INF инсталляционного пакета можно найти всю информацию об отсутствующих каталогах. Для неигровых программ могут отсутствовать каталоги TEMPLATE, CONFIG и т. п. Технология поиска отсутствующих каталогов для неигровых программ в целом не отличается от игр.
Ну вот, кратко рассмотрены типичные проблемы, возникающие при работе с компьютером. Конечно, каждый из вас может вспомнить целый ряд других глюков, когда-либо возникавших в практике работы, но то, что было описано выше - это базовые, системные ошибки, без устранения которых нормально не заработает ни одно приложение.

Работать с файлами INI просто, все данные в них хранятся в текстовом виде, и замена шрифта сводится к изменению соответствующей переменной. Увы, этот способ подходит в основном для старых программ, а в современных программах механизмы INI-файлов практически не используются.Современное же программное обеспечение сохраняет информацию о настройках в системном реестре и обычно обладает собственными средствами настройки среды (цвета, шрифты и т. п.). Но в случае, если "сбиты" шрифты меню, обнаружить пункт "Настройка", мягко говоря, затруднительно. Из подобной ситуации есть довольно простой выход - можно временно переместить нерусифицированные шрифты (в Windows 95 - те, что без добавочного суффикса Cyr) из каталога FONTS папки WINDOWS. Это приведет к тому, что операционная система подставит вместо отсутствующих шрифты по умолчанию. Меню в приложении станет читаемым, и вы получите возможность свободно отконфигурировать программу, предварительно подключив перемещенные шрифты.


Не правда ли, довольно сложно догадаться, что за имена файлов скрываются за загадочными наборами символов:

Это решение, конечно, лишено изящества, зато действенно. Однако, если у вас установлена операционная система Windows 98 или пакет Microsoft Office 97, пере-мещение файлов ничего не даст. Дело в том, что Windows 98 и MS Office 97 исполь-зуют шрифты Unicode, которые поддерживают несколько языков сразу. А для при-вычных пользователям Windows 95 шрифтов используются псевдонимы, например Times New Roman Cyr,0=Times New Roman,204. Такой подход создает иллюзию ра-боты со старыми шрифтами.


Изменение шрифтов, использующихся операционной системой по умолчанию.

С одной стороны, это очень удобно - меньше файлов, легче поддерживать много языков. Но, с другой стороны, возникает ряд специфических проблем. Например, в ряде приложений нельзя установить по умолчанию русский шрифт (т. к. они позволяют устанавливать по умолчанию лишь те шрифты, для которых существуют файлы, а не псевдонимы), или при загрузке файла весь русский текст отображается в ви-де псевдографики из-за того, что выбрана неверная кодовая страница. Подобные эффекты связаны с тем, что на данный момент далеко не все приложения умеют работать со шрифтами Unicode. Универсальных методов борьбы с этими эффектами пока предложить невозможно.


Редактирование INI-файла с помощью Notepad.


Литература по Win9x