Správa stavu dat MFC modulů
Tento článek popisuje stav dat MFC modulů a jak tento stav se aktualizuje, když zadá tok provádění (kód cesta trvá prostřednictvím aplikace při spuštění) a ponechá modulu.Přepínání státy modul AFX_MANAGE_STATE a METHOD_PROLOGUE je také popsána makra.
[!POZNÁMKA]
Termín "modul" zde odkazuje na spustitelný program nebo knihovny DLL (nebo sadu knihoven DLL), které pracují nezávisle na zbytku aplikace, ale používá kopii sdílené knihovny MFC.Ovládací prvek ActiveX je typickým příkladem modulu.
Jak ukazuje následující obrázek, MFC nemá stát data pro každý modul v aplikaci.Tato data příklady popisovače instance systému Windows (slouží k načítání prostředků), odkazy na aktuální CWinApp a CWinThread objekty aplikace, počty odkazů modul OLE a řadu map, které udržují spojení mezi Windows úchyty objektu a odpovídající instancí objektů MFC.Ale pokud aplikace používá více modulů, data Stav každého modulu není aplikace široké.Každý modul má spíše vlastní soukromé kopii dat MFC stavu.
Stav dat jeden modul (aplikace)
Data Stav modulu je obsažený ve struktuře a je vždy k dispozici prostřednictvím ukazatel do struktury.Tok provádění určitého modulu zadá, jak je znázorněno na následujícím obrázku, tento modul stát musí být "aktuální" nebo "účinné" stavu.Proto každý objekt podproces má ukazatel na strukturu účinné stavu aplikace.Udržování tohoto ukazatele aktualizovaný časy je důležité globální stav aplikace pro správu a zachování integrity každého modulu státu.Správné řízení globálního stavu může vést k aplikaci nepředvídatelné chování.
Stav dat více modulů
Jinými slovy každý modul je zodpovědný za správně přepínání mezi státy modul všech jejích vstupních bodů."Vstupní bod" je místo, kde tok provádění můžete zadat kód v modulu.Vstupní body zahrnují: