Tdatamodule pour optimiser l'espace mémoire occupée...

Description

...et accélérer le démarrage de l'application par la même occasion.
Le principe repose sur l'utilisation du compo TDataModule. Conçu pour l'accès aux bases de données, TDataModule ressemble à une Form ne pouvant recevoir que des compos non visuels (comme TImageList) et pouvant contenir le code associé. Il peut aussi contenir du code rarement utilisé par l'application afin d'alléger le code de celle-ci Il présente l'avantage de pouvoir être appelé dynamiquement par l'application, quand c'est nécessaire, et libéré aussitôt son travail terminé.
La mise en oeuvre est très simple. Créer une nouvelle application puis:
- Fichier | Nouveau | Module de données
DataModule2 apparait, comme une Form, et accepte n'importe quel compo non visuel. Le code associé est à mettre dans l'Unit2.
Il faut maintenant interdire la création automatique de la fiche DataModule2 au lancement ainsi:
- Projet | Options... | Fiches
...et balancer DataModule2 dans "Fiches disponibles".
(Ne pas oublier de mettre Unit2 dans les "uses" de l'unit1)

Source / Exemple :


//Quand l'application a besoin des sevices de DataModule2:
procedure AppelModule2;
begin
  if DataModule2=nil then Application.CreateForm(TDataModule2,DataModule2);
try
  // traitement...
  //Par exemple:
  Unit2.DataModule2.ImageList1.GetBitmap(0,Form1.Image1.Picture.Bitmap);
finally
  DataModule2 := nil;
  unit2.DataModule2.Free;
end;
end;

Conclusion :


Il existe aussi une autre utilisation de TDataModule qui permet de créer des .exe sans aucune fiche. Créer une nouvelle application. Fermer la nouvelle fiche et la nouvelle unité sans enregistrer, puis:
- Fichier | Nouveau | Module de données

Voilà. Cela s'adresse aux débutants, dont je suis ;)
Bonne prog à tous!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.