Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с функцией StringToWideChar


ЛенаК ©   (2002-05-21 09:54:00) 

Есть следующий код:
var
AD: IActiveDesktop;
name : PWideChar;
MasFile : array of string;

// пытаюсь поменять обои на рабочем столе, взяв файл с рисунком для этого из массива

setlength(Masfile,1);
MasFile[0]:="ris.bmp";
name:=StringToWideChar(MasFile[0],name,1);

AD:=CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
AD.SetWallpaper(name,0);
AD.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
Никаких сообщений не выдаётся, но AD.SetWallpaper(name,0); не срабатывает. Если написать так: AD.SetWallpaper("ris.bmp",0); то всё работает. Я подозреваю, что неправильно указываю какие-то параметры в StringToWideChar и она возвращает неправильное имя.
Как это побороть? Спасибо.


Shaman_Naydak   (2002-05-21 14:27:00) [1]

name:=StringToWideChar(MasFile[0],name, 1);
Последнюю единичку видишь? Ты один символ копируешь
Объяви Name: WideString и просто присвой
А то у тебя еще и AccessViolation всплывет.. так как ты память не выделил


Наверх

Титульная страница Поиск, карта сайта Написать письмо