Главная страница
    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.45 MB
Время: 0.011 c
1-1127198832
ZeroDivide
2005-09-20 10:47
2005.10.09
Винда не может завершить работу, когда мой процесс запущен !


14-1126772979
Игорь Шевченко
2005-09-15 12:29
2005.10.09
Поговорим об именах или что в имени тебе моем...


2-1125064034
гвест
2005-08-26 17:47
2005.10.09
скроллбары


1-1127272192
КиТаЯц
2005-09-21 07:09
2005.10.09
Отключить сообщение Debugger EConvertError


2-1125154685
Иван Семенов
2005-08-27 18:58
2005.10.09
Как перебрать все компоненты на двух формах?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский