Тотальная неудачница и убийца жёстких дисков.
Кстати. Всё народ спорит, Windows Vista - это миф или реальность? Тоесть стоит ли покупать её. Опустим рассуждения на тему "придётся" ^_^ Занятно то, что даже в Becky Changelog написали что исправили один глюк, который проявился при запуске под Вистой. Тоесть многие разработчики ещё до выхода системы начали дорабатывать свои программы, чтобы они работали в Windows Vista. Я не говорю о написании отдельных екзешников, которые всёже запустятся под Вистой, а о доработке программ с учётом изменений в ядре и интерфейсе Win32 (API). Не помню чтобы такое было перед выходом Windows 2000 и не помню чтобы такого размаха это достигало перед выходом Windows XP ^_^ А это о многом говорит ^_^



Представляю довольную улыбку Призрака и мысли что "а вот в UNIX..." Спешу разочаровать ^_^ Рассмотрим следующий код, который работает прекрасно в Windows 9x:




Dim RC As Long

RC = GetPriorityClass(GetCurrentProcess())
Select Case RC
 Case HIGH_PRIORITY_CLASS
   RunSomethingHigh
 Case IDLE_PRIORITY_CLASS
   DoNothing
 Case NORMAL_PRIORITY_CLASS
   GetWork
 Case REALTIME_PRIORITY_CLASS
   KernelCall
 Case Else
   MsgBox "GetPriorityClass() returns error!", _
          vbInformation
End Select
Программа проверяет приоритет текущего процесса (себя) и в зависимости от него что-то делает. Программист был умным и помнил про глюки виндов. Поэтому он добавил обработчик ошибочных значений с выдачей сообщения. Я решила особо не стебаться и не вызывать FatalAppExit() ^_^ И всё работало, даже сообщение об ошибке не выдавалось.



Но вот, программу запустили в XP... Программу запускала другая программа, которая зачем-то меняла свой класс приоритета. И вот, однажды программа выдала сообщение об ошибке. "Глюк!" - подумал программер. "Нет!" - ответила Microsoft, которая в NT5 ввела ещё два класса приоритета: ABOVE_NORMAL_PRIORITY_CLASS и BELOW_NORMAL_PRIORITY_CLASS. Просто программа не рассчитывала на них, но всёже получила...



Я просто хотела показать, что все эти различия: а) не являются фатальными, и не нужно кричать про UNIX, б) можно обойти. Кстати, одна моя библиотека содержала такой баг ^_^ Так что я не с потолка взяла этот пример ^_^