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

Developer 6i
Реестр 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-разрядной ветке.
Read More

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

Developer 6i
В самых первых проектах формирование MS Word документов было организовано с использованием OLE-технологии (использовался Office XP). Это удобно: создаем шаблон (.dot), а дальше программно создаем документ на основании этого шаблона и подставляем в него необходимые данные. Соответственно, шаблоны хранятся на сети, в определенной папке. При переходе на MS Office 2007 возникла проблема: не формировался документ на основании шаблона. Было выяснено, что виной всему было наличие в вызове полного пути к шаблону. Решилась данная проблема настройкой самого MS Word, для этого в настройках MS Word переопределяем путь к шаблонам (где на сети лежат .dot-файлы) Открываем MS Word Создаем пустой документ Нажимаем кнопку "Office" Выбираем «Параметры Word» Выбираем «Дополнительно» Нажимаем кнопку «Расположение файлов…» Изменяем путь к общим шаблонам Успешно выходим Если будет выводиться ошибка о невозможности прочитать/записать шаблон Normal.dotm, то надо указать/изменить…
Read More

Discoverer 11g и ORA – 00920

Discoverer 11g, Oracle
Требовалось совместить начисления и поступления оплаты. Для чего связал по дате, в результате получил ошибку ORA-920 : INVALID RELATIONAL OPERATOR ON WORKBOOK USING PLUS ON DATABASE 11G Это баг, т.к. поле типа даты берется в скобки (), и если строится запрос, по получаем синтаксическую ошибку, например: (period)(+), вместо period(+) Должно лечиться соответствующим патчем, но лучше завязать через таблицу календаря, тогда и "провалов" (если нет данных за указанную дату) наблюдать не будем.
Read More

Опыт по J2ME

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