Nahraditelné parametry (tajemníka předprocesoru)
Nahraditelné parametry umožňují klienta tajemníka zadat data spuštění.To provedete udržuje tajemníka náhradní mapa, do kterého jej zadá hodnoty přidružené pomocí nahraditelné parametry skriptu.Tajemník umožňuje tyto položky při spuštění.
Pomocí modulu %
Průvodce řízení ATL automaticky generuje skript, který používá %MODULE% .ATL používá tento nahraditelný parametr skutečné umístění vašeho serveru knihovny DLL nebo EXE.
Zřetězení Data spuštění skriptu daty
Jiné použití preprocesoru je zřetězit data spuštění skriptu daty.Například položka je zapotřebí obsahující úplnou cestu modulu s řetězcem ", 1" připojena na konec.Nejprve definujte následující rozšíření:
'MySampleKey' = s '%MODULE%, 1'
Potom před voláním jednu z metod uvedených v zpracování skriptu Vyvolání skripty, náhradní přidat mapování:
TCHAR szModule[_MAX_PATH];
::GetModuleFileName(_AtlBaseModule.GetModuleInstance(), szModule, _MAX_PATH);
p->AddReplacement(OLESTR("Module"), T2OLE(szModule));
Při analýze skriptu tajemníka rozšíří '%MODULE%, 1' na c:\mycode\mydll.dll, 1.
[!POZNÁMKA]
Ve skriptu Registrátor 4 kB je maximální velikost tokenu.(Token je libovolný prvek lze rozpoznat v syntaxi). To zahrnuje tokeny, které byly vytvořeny nebo ve preprocesoru rozbaleny.
[!POZNÁMKA]
Náhradní náhradní hodnoty za běhu, odebrat volání skriptu a DECLARE_REGISTRY_RESOURCE nebo DECLARE_REGISTRY_RESOURCEID makro.Místo toho nahradit vlastním UpdateRegistry metoda, která volá CAtlModule::UpdateRegistryFromResourceD nebo CAtlModule::UpdateRegistryFromResourceSa předat do pole _ATL_REGMAP_ENTRY struktury.Do pole _ATL_REGMAP_ENTRY musí mít alespoň jednu položku, která je nastavena na hodnotu {NULL,NULL}, a tato položka by měla být vždy poslední položky.Jinak bude chyba narušení přístupu při generování UpdateRegistryFromResource se nazývá.
[!POZNÁMKA]
Při vytváření projektu, který vypíše spustitelný soubor, ATL automaticky přidá název cesty vytvořené za běhu pomocí uvozovek modul % registrar parametr skriptu.Pokud nechcete, aby cestu do uvozovek, používat nový % MODULE_RAW % parametr místo.
Při vytváření projektu, který je výstupem knihoven DLL, nebude ATL přidat název cesty uvozovky Pokud modul % nebo % MODULE_RAW % se používá.