Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Баги при использования com-интерфейса   Найти похожие ветки 

 
zero-g ©   (2005-08-14 09:13) [0]

Доброго времени суток уважаемые коллеги!

У меня такая проблеммка.
Использую в своей программе, Wallpaper v.2.3, com-интерфейс для смены фона рабочего стола.
файл программы
http://alexshad.pisem.net/file/wallp.zip

процедура смены фона

uses ComObj,ShlObj;
....
procedure SetWallpaper(sWallpaperBMPPath : String; bTile : byte);
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888- 006097DEACF9}";
var
ActiveDesktop: IActiveDesktop;
t_ : WideString;
wp : _tagWALLPAPEROPT;
begin
t_ := sWallpaperBMPPath;
try
 ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
except
 showmessage("Error CREATE COM OBJECT");
end;
wp.dwSize := sizeof(_tagWALLPAPEROPT);
if bTile = 3 then //по растянуть
wp.dwStyle := WPSTYLE_STRETCH;
if bTile = 2 then //по замостить
 wp.dwStyle := WPSTYLE_MAX;
if bTile = 1 then //по центру
 wp.dwStyle := WPSTYLE_CENTER;
try
 ActiveDesktop.SetWallpaperOptions(wp,0);
 ActiveDesktop.SetWallpaper(PWideChar(t_),0);
 ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
except
 showmessage("Error SET & APPLAY");
end;
ActiveDesktop := NIL;
end;

Пример использования  

...
SetWallpaper("C:\mywallpaper.jpg",3);
...

Ну так вот, сама процедура работает нормально.
приложение работает на всех осях нормально.
но тут мне один из ее пользователей сказал о баге, о котором я вообще бы не подумал.

Дело в следующем.
Юзер использует OutLook Expesse для приема почты, и во время когда происходит смена фона рабочего стола, у него увеличивается в размерах ряд с  кнопками : Сохранить, Вставить, Ответить....   Кнопки становятся больше и не помещаются на экране.

Я тоже пользуюсь OutLook Expesse, но как то не обращал на это внимания, но попробывал протестить данный вариан, и убедился что это так.

Ну так вот. В самой прогремме сторонние приложения вообще не используются, ни процессы их ни что либо другое, поэтому я и грешу на com-интерфейс....

Кто нить с таким сталкивался, или у кого нить есть какие нить идеи??? Кроме переписки движка по установки через реестр ))) Так как это не актуально )))

В общем люди, я без понятия из-за чего такая фигня происходит. Очень нуждаюсь в умных советах.

Зарание спасибо.


 
zero-g ©   (2005-08-14 09:17) [1]

Да и кстате,
данная фигня происходит если стоит режим установки "Растянуть"
Если стоит режим "По центру", то все нормально.


 
Ученик   (2005-08-14 12:55) [2]

Может быть убрать AD_APPLY_FORCE


 
zero-g ©   (2005-08-14 13:16) [3]

Да, спасибо.
Убрал AD_APPLY_FORCE, теперь с OutLook Expesse никаких проблем )))

Еще раз спасибо :)

Теперь осталось тока на всех виндозных осях протестить, посмотреть, будет ли работать смена фона без глюков :)



Страницы: 1 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
1-1126856777
Alloun
2005-09-16 11:46
2005.10.09
TPageControl


8-1116687318
andrew_john
2005-05-21 18:55
2005.10.09
Использование компонентов TImage для построения слоев


14-1126852722
Sash
2005-09-16 10:38
2005.10.09
MSSQL Server 2000 и MSSQL Server 7


3-1125043936
Виталий Панасенко
2005-08-26 12:12
2005.10.09
Возник. ошибки в дес.-тайме при попытке создать экземпляры полей


1-1126827810
kblc
2005-09-16 03:43
2005.10.09
TPageControl and TListView