На днях странный случай, на этот раз из разряда программирования, был у жены.
На работе был у неё проект в 2007х дельфях, взаимодействующий с экселем по технологии ole . На её рабочем и домашних компьютерах работал этот проект хорошо и замечательно, а вот переселившись на мой домашний работать отказался, ругаясь на распределение потоков ядра.
Впрочем, его можно было понять ибо переехал он с 32х битных систем на 64х битную семёрку.
Естественно выход из подобного положения прост и очевиден и появилась у меня на винде микрософтовская виртуалка с микрософтовской же ХП. И данный способ действительно помог, проект перестал ругаться на ядра и потоки. Впрочем, вместо этого он стал жаловаться на непонятный ему variant и отказываясь верить в существование ole и, как следствие, решительно не работая.
Недолго думая мы предприняли экспедицию к нашим общим друзьям, которые страстно мечтали избавиться от своего относительно старого ноутбука с установленной ХП. На всякий случай перед экспедицией мы скопировали злосчастный проект на съёмный диск и запустили его на ноутбуке, прямо у друзей. Всё отлично проработало, не вызывая никаких нареканий.
Но принеся ноут домой и запустив на нём проект ещё раз (скопировов его по сети с домашнего компьютера) нас постигло жестокое разочарование - проект вновь отказывался верить в ole и ругался на варианты.
Чуть позже мы с удивлением обнаружили, что будучи запущенным со съёмного диска проект прекрасно работает как на нотуе, так и на эмулируемой хп домашнего копьютера. Но, будучи запущенным с жёсткого диска - выдавал уже описанные выше ошибки.
Как оно так и почему решительно непонятно. Такая вот програмистская мистика.
P.S. Умница жена всё-таки сумела переписать его, заставив работать на ноутбуке с винчестера (использовав вместо ole texcel. Но переписанная версия не хочет запускаться на эмулируемой хп домашнего компа).
P.P.S. Теоретически всё это может быть объяснено особенностями файловой системы домашнего компа и ноута (нтфс, права файлов и так далее). Но, согласно имеющимся данным ole никак от файловой системы не зависит.