Správa údajů o stavu modulů knihovny MFC
Tento článek pojednává o stavu dat modulů knihovny MFC a aktualizace tohoto stavu při zadá tok provádění (kód cesty provede aplikace při provádění) a opustí modulu.Stavy modulů s přepnutím AFX_MANAGE_STATE a METHOD_PROLOGUE makra je také popsána.
[!POZNÁMKA]
Termín "modul" zde odkazuje na spustitelný soubor nebo DLL (nebo sadu knihoven DLL), které pracují nezávisle na zbytku aplikace, ale používá sdílené kopii knihovny MFC DLL.Ovládací prvek ActiveX je typickým příkladem modulu.
Jak je znázorněno na následujícím obrázku, knihovna MFC má data stavu pro každý modul v aplikaci.Příklady těchto dat 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 různé mapy, které udržují spojení mezi úchyty objektu pro Windows a příslušné instance objektů knihovny MFC.Pokud aplikace používá více modulů, data Stav každého modulu je však aplikace široký.Místo toho každý modul má vlastní soukromá kopie dat Stav MFC.
Stav dat jeden modul (aplikace)
Data stavu modulu je obsažen ve struktuře a je vždy k dispozici prostřednictvím ukazatele na tuto strukturu.Tok provádění zadá konkrétní modul, jak je znázorněno na následujícím obrázku, musí být stav tohoto modulu "aktuální" nebo "efektivní" stavu.Proto každý objekt vlákna má ukazatel na strukturu účinné stavu aplikace.Udržování tento ukazatel vůbec aktualizaci časy je zásadní pro globální stav aplikace Správa a udržová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ů
Každý modul jinými slovy, odpovídá za správné přepínání mezi stavy modulů vůbec jeho vstupních bodů."Vstupní bod" je jakékoli místo, kde tok provádění můžete zadat kód modulu.Vstupní body zahrnují: