System.InitProc
Delphi
InitProc: Pointer; { Last installed initialization procedure }
C++
extern DELPHI_PACKAGE void *InitProc;
Propriétés
| Type | Visibilité | Source | Unité | Parent |
|---|---|---|---|---|
| variable | public | System.pas System.hpp |
System | System |
Description
InitProc est la dernière procédure d'initialisation installée.
Attribuez une valeur à InitProc pour indiquer une procédure à exécuter au démarrage de l'application. La valeur de InitProc est une procédure sans paramètres. Par exemple :
- Dans Delphi, l'affectation peut être effectuée dans la section initialisation d'une unité :
procedure MyInitProcedure; ... initialization InitProc := @MyInitProcedure; end.
- Dans C++, l'affectation est plus facilement effectuée dans le fichier source du projet.
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
// L'appel doit précéder l'appel à Application->Initialize();
System.InitProc = MyInitProcedure;
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
Vous ne pouvez attribuer qu'une seule procédure d'initialisation à la variable InitProc. Si votre application définit plusieurs procédures d'initialisation, seule la dernière affectation à InitProc est exécutée. Pour autoriser l'exécution d'autres procédures d'initialisation, vous devez "enchaîner " les procédures, en appelant la valeur précédemment affectée à InitProc à partir de la nouvelle valeur.