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

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

XPManifest для DLL ...


TUserClass ©   (2008-06-17 10:57:00) 

О ужас - перепробовал абсолютно все ... Не хочет XPManifest у мну работать ... и создавал динамически и пробовал подключать xml с помощью brcc32.exe ( {$R XP.res} ) - ничего не работает ((((

Кто-нить уже делал поддержку ХП тем для dll? Отзовитесь ...


TUserClass   (2008-06-17 16:19:00) [1]


> Rouse_ ©   (17.06.08 15:47) [10]


ОК....чуть позже гляну ... уже скачал, но пока толком не разобрался :) спасибо ...


Rouse_   (2008-06-17 15:47:00) [2]

Да все правильно. Ты должен подключить манифест для своей библиотеки. Т.к. в моем примере это был PropertySheet я использовал ISOLATIONAWARE_MANIFEST_RESOURCE_ID. У себя поэксперементируй. Должен быть либо он, либо ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID. После чего его нужно активировать при помощи ActivateActCtx(), иначе контролы останутся в старом стиле.
Пример найдешь по моей ссылке - реализация в модуле ActivationCotext.pas


Rouse_   (2008-06-17 12:45:00) [3]


> TUserClass   (17.06.08 12:27) [7]
>
> т.е.
>
>
> ....
> ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID RT_MANIFEST
> "windowsxp.manifest"

Да, или так или ISOLATIONAWARE_MANIFEST_RESOURCE_ID. Точно не помню, посмотри как в этом примере я делал: http://rouse.drkb.ru/winapi.php#propsheet


TUserClass   (2008-06-17 12:38:00) [4]

эх....не работает ... ((


TUserClass   (2008-06-17 12:27:00) [5]

т.е.


....
ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID RT_MANIFEST
"windowsxp.manifest"


TUserClass   (2008-06-17 12:22:00) [6]


> Rouse_ ©   (17.06.08 12:09) [5]


т.е. в xpmanifest.rc должно быть так ???

#define RT_MANIFEST  24
#define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID  2
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID  3
#define CONTROL_PANEL_RESOURCE_ID 123

CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST
"windowsxp.manifest"


потом компилю в brcc32, и подключаю в dll {$R windowsxp.RES} и все ????


Rouse_   (2008-06-17 12:09:00) [7]

Для тулбаров код манифеста не CREATEPROCESS_MANIFEST_RESOURCE_ID а
ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID.

Вот дефайны:
// Необходимые константы {смотри MSDN}
#define RT_MANIFEST  24
#define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID  2
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID  3
#define CONTROL_PANEL_RESOURCE_ID 123


TUserClass   (2008-06-17 11:17:00) [8]


> Игорь Шевченко ©   (17.06.08 11:13) [3]


Прекрасный ответ... :) - а КАК ???


Игорь Шевченко   (2008-06-17 11:13:00) [9]


> Вот куда мне пихать {$R XP.res}?


в MSIE


TUserClass   (2008-06-17 11:12:00) [10]

Вот у меня тулбар для MSIE ... Вот куда мне пихать {$R XP.res}?
У меня в dll вот так....а толку нету:

library SomeToolBar;
uses
 ComServ, Forms,
 SomeIEToolBar_TLB in 'SomeIEToolBar_TLB.pas',
 Unit1 in 'Unit1.pas' {SomeIEBar: CoClass};

exports
 DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer;

{$R xp.res}
{$R *.TLB}
{$R *.RES}

begin

end.


Поросенок Винни-Пух   (2008-06-17 11:07:00) [11]

это должно быть в хост приложении а не в длл


Наверх

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