Реестр под 64-разрядной Windows

Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы.

Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот.

В 32-разрядной Windows приложения обращаются к ключам реестра

HKEY_LOCAL_MACHINE\SOFTWARE\<company>\<product>

В 64-разрядной Windows когда 32-разрядные приложения обращаются к реестру

HKEY_LOCAL_MACHINE\SOFTWARE\<company>\<product>

они на самом деле обращаются к ветке

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\<company>\<product>

По умолчанию в 64-разрядных версиях Windows используется отображение (“registry reflector”) 32-разрядных разделов в узле WOW6432Node. Процесс отображения прозрачен для 32-разрядных приложений, т.е. они могут получать доступ к разделам реестра так, как будто бы они работали в 32-битном окружении несмотря на то, что данные хранятся в другом месте.

Наблюдалась особенность отражения в 64-разрядный ключ: если очищалось значение ключа в 32-разрядной ветке, по какой-то причине не происходил автоматический сброс этого значения в 64-разрядной ветке.

Создание документов с помощью шаблонов (.dot) в MS Office 2007 и MS Office 2010

В самых первых проектах формирование MS Word документов было организовано с использованием OLE-технологии (использовался Office XP).

Это удобно: создаем шаблон (.dot), а дальше программно создаем документ на основании этого шаблона и подставляем в него необходимые данные.

Соответственно, шаблоны хранятся на сети, в определенной папке.

При переходе на MS Office 2007 возникла проблема: не формировался документ на основании шаблона. Было выяснено, что виной всему было наличие в вызове полного пути к шаблону.

Решилась данная проблема настройкой самого MS Word, для этого в настройках MS Word переопределяем путь к шаблонам (где на сети лежат .dot-файлы)

  • Открываем MS Word
  • Создаем пустой документ
  • Нажимаем кнопку “Office”
  • Выбираем «Параметры Word»
  • Выбираем «Дополнительно»
  • Нажимаем кнопку «Расположение файлов…»
  • Изменяем путь к общим шаблонам
  • Успешно выходим
  • Если будет выводиться ошибка о невозможности прочитать/записать шаблон Normal.dotm, то надо указать/изменить на локальную папку путь для пользовательских шаблонов (C:\Documents and Settings\…\My Documents)
  • Возможно, надо будет запустить MS Word и выйти из него, при этом шаблон Normal.dotm автоматически создастся в текущей папке пользовательских шаблонов.

После чего при вызове убираем путь к шаблону.

В MS Office 2010:

  • Открываем MS Word
  • Создаем пустой документ
  • Переходим на закладку «Файл»
  • Выбираем «Параметры»
  • Выбираем «Дополнительно»
  • далее как описано выше

Discoverer 11g и ORA – 00920

Требовалось совместить начисления и поступления оплаты. Для чего связал по дате, в результате получил ошибку

ORA-920 : INVALID RELATIONAL OPERATOR ON WORKBOOK USING PLUS ON DATABASE 11G

Это баг, т.к. поле типа даты берется в скобки (), и если строится запрос, по получаем синтаксическую ошибку, например:

(period)(+), вместо period(+)

Должно лечиться соответствующим патчем, но лучше завязать через таблицу календаря, тогда и “провалов” (если нет данных за указанную дату) наблюдать не будем.

Опыт по J2ME

Когда шел проект по использованию доступа к информационной системе через мобильные устройства, около месяца работал с платформой J2ME. Особой радости от результатов не было, так как от устройства к устройству версия Java отличается, и если на одном устройстве поля отображаются одним способом, то на другом – все значительно хуже. На мой взгляд, на платформе можно делать простенькие игрушки, хорошо работать с PIM API (Personal Information Manager), ну еще некоторыми API, но не более того.

Лучше подождать пару-тройку лет, когда производительность устройств подрастет, а код выполнения на той же Java SE оптимизируется по скорости до степени, при которой его можно будет запускать на мобильной платформе, и тогда SE и ME будут синонимами.

Будем надеяться, что в данном случае Oracle ускорит этот процесс.

Discoverer Plus vs Desktop

Конечно же Plus, поскольку он продолжает развиваться, в то время как Desktop как-то зафиксировался в своем развитии.

Плюсы у Plus:

  • на клиентскую машину ничего не надо дополнительно устанавливать
  • гибкая настройка каждого листа
  • полностью повторенная функциональность, плюс есть настройки, которых нет в Desktop (например, обязательность параметра смог снять только в Plus)
  • вся документация, судя по картинкам, отсылает нас именно к Plus

Чего нет в Plus, так это административной панели как в Desktop.

Более того, если есть какой-либо баг, и Plus при этом молча падает, то только Desktop поможет исправить ошибку (например, откатить только что сделанное вами изменение, которое привело к падению).

А еще, когда работал с большими суммами (загнал тестовые данные с суммами в сотни миллионов), то Desktop вывел ####### и победить это я не смог.

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