- Добавлена возможность вывода списка плагинов в инспекторе Outlook.
Реализовано только для наследников outlookPlugin. По умолчанию возможность отключена, включать надо в плагине атрибутом [ShowInInspector (true)] или установкой поля ShowInInspector = true; Проверить факт работы в окне Инспектора можно по значению логической переменной RunningInInspector. - Добавлена возможность при установке выбрать приложения, в которых будут запускаться плагины (по умолчанию Word, Excel и Outlook выбраны).
- Добавлена возможность в файле конфигурации диспетчера указать приложения, в которые будут загружаться плагины при очередном старте (параметр <runin>, принимает значения * (для всех приложений) или Word, Excel и т.д.). Параметр может повторяться необходимое количество раз и может быть изменён только при использовании внешнего редактора.
- Добавлена возможность на пункте меню плагина выводить рисунки. Файлы рисунков (сам рисунок и маска) добавляются к проекту плагина в виде встраиваемых ресурсов (Bitmap размером 16*16). Имена файлов следует указать в переменных PictureBmpName и MaskBmpName в перегруженном методе InitializePlugin (по умолчанию используются значения " Picture.bmp" и "Mask.bmp" соответственно).
- Добавлена возможность в файле конфигурации задать произвольное количество путей к папкам с плагинами (параметр <path>). По умолчанию используется значение "OfficePlugins".
- Система переписана с использованием некоторых возможностей .NET v.2.0 и требует для работы установленной версии .NET Framework 2.0.50215.
воскресенье, июля 31, 2005
Офисные плагины
Новое по сравнению с ранее выставлявшимся:
Конкурс на Gotdotnet.ru
Получил на днях призы за заявки - VB.NET и VS 2003 - всё из себя лицензионное, хоть и устаревшее малость. Одно хорошо - к Студии Server 2003 приложен и SQL 2000 девелоперский. Можно с чистой совестью программки раздавать. И даже продавать, если кто купит.
А Бейсик Варьке отправить надо - поди, в нынешней продвинутой школе заставят программить чего - вот и пригодится.
Ну, и заодно вспомнил, что надо и сами разработки выкладывать - пришлось повозиться малость.
Музыкально-развлекушное почти не менял, а с Офисными плагинами поковырялся. Особенно с Outlook'овым, работающим и в Inspector'е - кривота жуткая. Зато научился вставлять текст в письма (даже в те, которые специально на редактирование не открыты пока). Надо будет развить как-нить эту линию.
понедельник, июля 18, 2005
FxCop
Решил поупражняться с сабжем, встроенным в Студию 2005.
Мама дорогая.
В общем, примерно 3 часа возился, выполняя его рекомендации. Попутно выяснилось, что некоторые ситуации распознаёт совсем криво, значительно хуже самой Студии. Но иногда и дельные советы подаёт тоже (типа убрать ненужные инициализации объектов, сделать методы статическими).
Следующие 3 часа возился, устраняя последствия предыдущего действия :-(
В общем, какое-то время воздержусь от этой забавы.
CommandBarButton.Picture
Часа 2 возился, чтоб изобразить картинку на кнопке в Ворде. Какой только фигни многомудрой не понаписано на эту тему....
Ё-моё. А всё оказалось достаточно просто.
Несколько строчек кода
string ns = this.GetType().Namespace;
Assembly CurrentAssembly = this.GetType().Assembly;
System.IO.Stream
imgStreamPic = CurrentAssembly.GetManifestResourceStream(ns+"." + "ConfigPicture.bmp"),
imgStreamMask = CurrentAssembly.GetManifestResourceStream(ns+"." + "ConfigMask.bmp");
MyAxHost ax = new MyAxHost();
stdole.IPictureDisp
Pic = MyAxHost.IPictureDisp(Image.FromStream(imgStreamPic)),
Mask = MyAxHost.IPictureDisp( Image.FromStream(imgStreamMask));
ConfigureButton.Picture = Pic;
ConfigureButton.Mask = Mask;
И простой класс
public class MyAxHost : System.Windows.Forms .AxHost
{
public MyAxHost() : base( "59EE46BA-677D-4d20-BF10-8D8067CB8B33"){ }
public static stdole.IPictureDisp IPictureDisp(System.Drawing.Image Image)
{
return ((stdole.IPictureDisp)(AxHost.GetIPictureDispFromPicture(Image)));
}
}
Ё-моё. А всё оказалось достаточно просто.
Несколько строчек кода
string ns = this.GetType().Namespace;
Assembly CurrentAssembly = this.GetType().Assembly;
System.IO.Stream
imgStreamPic = CurrentAssembly.GetManifestResourceStream(ns+"." + "ConfigPicture.bmp"),
imgStreamMask = CurrentAssembly.GetManifestResourceStream(ns+"." + "ConfigMask.bmp");
MyAxHost ax = new MyAxHost();
stdole.IPictureDisp
Pic = MyAxHost.IPictureDisp(Image.FromStream(imgStreamPic)),
Mask = MyAxHost.IPictureDisp( Image.FromStream(imgStreamMask));
ConfigureButton.Picture = Pic;
ConfigureButton.Mask = Mask;
И простой класс
public class MyAxHost : System.Windows.Forms .AxHost
{
public MyAxHost() : base( "59EE46BA-677D-4d20-BF10-8D8067CB8B33"){ }
public static stdole.IPictureDisp IPictureDisp(System.Drawing.Image Image)
{
return ((stdole.IPictureDisp)(AxHost.GetIPictureDispFromPicture(Image)));
}
}
И ConfigureButton имеет картинку.
среда, июля 13, 2005
Testing BlogJet
I have installed an interesting application - BlogJet. It's a cool Windows client for my blog tool (as well as for other tools). Get your copy here: http://blogjet.com/
"Computers are incredibly fast, accurate and stupid; humans are incredibly slow, inaccurate and brilliant; together they are powerful beyond imagination." -- Albert Einstein
������ ��-������ �� �����.
Хренотень - русский текст не постит, картинки не постит.
суббота, июля 09, 2005
Yukon
Поставил бету 3, пришедшую с 2005-й Студией. Нагрузил на него всё - счётчик трафика, SharePoint и проч.
Под SharePoint'ом задолбал вконец - памяти отъедает по 200-300 Мег, задумывается на 100% процессора на минуту-другую при простейших действиях. Мрак...
В итоге перенёс всё на старый добрый SQL 2000 sp3. Причём пришлось именно переносить - базы просто так через detach/attach уже не переставляются. За хрен так сделали, неясно. Как там другая функциональность, даже не пробовал.
Таблицы свои (трафик и др.) перегнал через DTS, а таблицы Sharepoint'а как-то хитро сделаны, что новый DTS обломался - пришлось новые базы заводить. Благо, никакого особого содержимого у меня там не было. Но целый вечер, считай, провозился.
Под SharePoint'ом задолбал вконец - памяти отъедает по 200-300 Мег, задумывается на 100% процессора на минуту-другую при простейших действиях. Мрак...
В итоге перенёс всё на старый добрый SQL 2000 sp3. Причём пришлось именно переносить - базы просто так через detach/attach уже не переставляются. За хрен так сделали, неясно. Как там другая функциональность, даже не пробовал.
Таблицы свои (трафик и др.) перегнал через DTS, а таблицы Sharepoint'а как-то хитро сделаны, что новый DTS обломался - пришлось новые базы заводить. Благо, никакого особого содержимого у меня там не было. Но целый вечер, считай, провозился.
ASP.NET
Пока ковырялся с SharePoint'ом, понял, что из всего .NET самое крутое - ASP.NET .
За всё время не нарисовал ни одной формы в студии или ещё как - всё только на C#.
Html не понадобился совсем (не считая совсем маленьких фрагментиков при рендеринге элементов). Правда, употребил бесплатную разработку, а там много html-ного.
SharePoint
Целый месяц, считай, провозился с этой фиговиной.
Если разобраться и вникнуть, то работать можно.
В итоге соорудил отдельный продукт - hse-списки. Точнее даже, формы, похожие на встроенные, но с расширенной функциональностью:
- Выборка данных из разных списков, с разных WSS-сайтов на одном сервере.
- Фильтрование данных для списков выбора по значениям полей формы.
- Присваивание полям формы данных из полей источника данных.
- Расширенный html-редактор (пристроил freeware FCKeditor).
- Комбинирование полей в источнике для выбора (заказчику пока не показываю - много всяких следствий).
Подписаться на:
Сообщения (Atom)