|
[Grafika]
[WebTip]
[Fotografování]
[Galerie]
[MujMac]
[Printing]
|
|||||||||
![]() |
||||||||||
|
|
|||||||||
Diskuzní forum: Visual C++Téma diskuze: Visual C++, ATL, MFC a ostatní věci související s programováním ve Visual C++, včetne práce s tímto vývojovým prostředímTip: nemáte rádi v textu smajlíky? Ruší vaše zdrojové kody? Vypněte si je! (Moje nastavení / Nastavení soukromí) Manifest pro DLL
Vloženo uživatelem: LadislavZezula (Ladislav Zezula) - uživatel již zaslal 9 příspěvků (IP uloženo)
Datum: 15. 01. 2010 16:19
Ahoj, delam plugin pro TeamSpeak3 (tedy DLLku), ktera bude (mimo jine) potrebovat zobrazit konfiguracni dialog. Presto, ze jsem do te DLLky pridal manifest, tak se ten konfiguracni dialog porad tvrdosijne zobrazuje v "classic" stylu, jako by tam ten manifest nebyl. Overoval jsem to i v hexa editoru a manifest v te DLLce je. Nefunguje ani ulozeni manifestu do stejneho adresare jako je ta DLLka. Toto je manifest, ktery pouzivam: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="LadislavZezula.TeamSpeak3.Overlay" type="win32" /> <description>Overlay for TeamSpeak 3</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly> Je mozne, ze za to muze ten TeamSpeak, protoze je napsany v necem jako je QT (vsechny jeho okna se jmenuji QWidget) a ten manifest, ktery tam je, neobsahuje informaci o common controls. Mate nekdo podobny projekt, kde zobrazujete dialog v DLL, ktera je pluginem ? A pokud ano, mohli byste sem pastnout manifest, ktery do te DLL vkladate ? Diky, L. Příspěvek zaslán emailem Re: Manifest pro DLL
Vloženo uživatelem: Neregistrovaný uživatel: Honza Havelka (IP uloženo)
Datum: 15. 01. 2010 17:19
Zkus ten soubor manifestu pojmenovat stejně jako se jmenuje ta Dllka a navíc přidat příponu manifest takhle nazev.dll.manifest a pak ten soubor dej do adresáře kde leží exáč, který tu Dllku používá a pokud to nepomůže tak napiš nebo přímo uprav manifest pro ten exáč tj. nazev.exe.manifest a dej do něj ty definice pro common controls. Re: Manifest pro DLL
Vloženo uživatelem: RadekChalupa (Radek Chalupa) - uživatel již zaslal 1312 příspěvků (IP uloženo)
Datum: 15. 01. 2010 20:06
Měl by fungovat stejný manifest jako pro exáč, akorát v resource skriptu mu dej číslo 2, tj. nějak:
2 RT_MANIFEST "hlavni.manifest" Mě to funguje v panelu nástrojů IE, což je DLL COM server. Radek Chalupa - vývoj software na zakázku - školení programování (C/C++, Win32 API, ATL, COM, ActiveX, C#, NET Framework, MFC) http://www.radekchalupa.cz Re[2]: Manifest pro DLL
Vloženo uživatelem: LadislavZezula (Ladislav Zezula) - uživatel již zaslal 9 příspěvků (IP uloženo)
Datum: 15. 01. 2010 21:34
> Měl by fungovat stejný manifest jako pro exáč, akorát v resource > skriptu mu dej číslo 2, tj. nějak: > 2 RT_MANIFEST "hlavni.manifest" Bez efektu. Dialog je porad zobrazen v classic stylu. Zlistil jsem, ze pri nacitani te DLLku se hleda soubor "JmenoDll.dll.2.manifest", ale i kdyz jsem jej vyrobil, tak to nemelo na styl zobrazeni zadny vliv. > Zkus ten soubor manifestu pojmenovat stejně jako se jmenuje ta > Dllka a navíc přidat příponu manifest takhle nazev.dll.manifest a > pak ten soubor dej do adresáře kde leží exáč, který tu Dllku používá > a pokud to nepomůže tak napiš nebo přímo uprav manifest pro ten exáč > tj. nazev.exe.manifest a dej do něj ty definice pro common controls. Pomohlo vyrobeni manifestu "ts3client_win32.exe.manifest", tedy pro ten EXE. Zjevne je uplne jedno, jestli ta DLL ma nebo nema manifest, zalezi na tom EXE. Ostatne to dava smysl - COMCTL32.dll se nacita pouze jednou a to pro ten EXE. DLL je (technicky vzato) jen jakysi kus kodu, ktery je na ten EXE prilepeny, takze je jedno, jestli tam je nejaky manifest nebo ne. Blbe na tom je, ze ten plugin musi budto dropnout extra manifest pro hlavni EXE, nebo se spokojit se starym skinem. Mno co se da delat, zivot je pes. L. Příspěvek zaslán emailem Re: Re[2]: Manifest pro DLL
Vloženo uživatelem: RadekChalupa (Radek Chalupa) - uživatel již zaslal 1312 příspěvků (IP uloženo)
Datum: 15. 01. 2010 21:43
Taky jsem si myslel že o vzhledu rozhoduje exe, ale v případě toho panelu pro IE to tak nebylo... Bez manifestu byly buttony "hranaté" a pomohlo právě přilinkování manifestu přímo do DLL s tím číslem 2 (v .rc) Toto fórum je provozováno také jako emailová konference s e-mailovou adresou vc [a] builder.cz. Toto je neredigovaná a nemoderovaná diskuse čtenářů serveru Builder.cz. Redakce ani provozovatel serveru za obsah jednotlivých příspěvků nenese zodpovědnost. |