|
- mots clé: adresse mémoire - ordre d'initialisation - mise au point
- logiciel utilisé: Windows 98, Delphi 5.0
- matériel utilisé: Pentium 500Mhz, 128 M de mémoire
- champ d'application: Delphi 1 à 6 sur Windows, Kylix
- niveau: débutant en Pascal et Delphi
- uses: u_c_log, (u_types_constants, u_c_basic_file,
u_c_basic_object, u_c_file_name, u_c_display, u_dir,
u_strings)
- plan:
1 - Introduction
Cette unité permet se savoir à quelle adresse mémoire approximative a été
chargée une unité. Elle indique aussi dans quel ordre les partie
d'initialisation des unités ont été appelées.
Cette unité est historique, et a été utilisé lorsque certaines classes ne
s'initialisaient pas dans le bon ordre. Je ne l'utilise pas très souvent.
2 - Utilisation
2.1 - Interface
L'interface est la suivante:
var g_log_unit_loading: boolean= False;
procedure display_loaded(p_unit_name: String; p_start_address: Pointer);
|
Et:
- g_log_unit_loading valide on supprime l'écriture du log
- display_loaded reçoit deux paramètres:
- un texte (en général le nom de l'unité)
- l'adresse d'une procédure de l'unité (en général la première qui se
trouve après IMPLEMENTATION)
- les données envoyées à display_loaded sont écrites dans un fichier
c:\log.txt
L'appel de display_loaded est placé entre le BEGIN et le END de l'unité
(ou dans INITIALIZATION, ce qui revient au même).
L'unité u_loaded doit être la première unité non-Delphi dans le USES du
.DPR. Elle crée en effet le fichier de log utilisé par les autres unités
2.2 Exemple
En basculant g_log_unit_loading à True dans l'initialisation de u_loaded,
voici le journal obtenu:
// -- c:log.txt 23/12/01 09:23:23
loaded 446584: u_loaded
loaded 446784: u_c_file_name
loaded 447250: u_c_basic_file
loaded 447AE8: u_c_log
|
Ceci signifie:
- que pour les unités utilisées par p_test_u_loaded, les seules qui, au jour
de ce test, comportent encore u_loaded dans leur USES sont
u_c_file_name, u_c_basic_file, u_c_log
- le journal indique l'ordre de chargement et l'adresse dans le code de la
première procédure de l'IMPLEMENTATION
2.3 - Répertoires
L'unité est prévue pour être placée dans:
C:
programs
colibri_helpers
units
Vous pouvez naturellement changer cette organisation par Projet | Options |
Directories
2.4 - Directives de compilation
Les directives de compilation sont:
- R+ (vérification des intervalles)
- S+ (vérification de la pile)
- pas d'optimisation
3 - Programmation
4 - Améliorations
5 - Télécharger
Vous pouvez télécharger:
Avec les mentions d'usage:
- j'apprécie tous les commentaires, remarques ou critiques
- signalez-moi les bugs que vous trouverez.
L'auteur
John COLIBRI est passionné par le développement
Delphi et les applications de Bases de Données. Il a écrit de nombreux livres
et articles, et partage son temps entre la
développement de projets pour
ses clients, le conseil et la formation. Son site contient des articles
avec code source, ainsi que le programme et le calendrier des
stages
de formation Delphi, base de données, Ado.Net, Asp.Net et UML qu'il
anime personellement tous les mois, à Paris, en province ou sur site client.
|