À l’heure actuelle, la plupart des développements de systèmes sont réalisés de manière collaborative avec une combinaison de plusieurs personnes ou plus, ce qui facilite également le développement rapide du système.
La méthode DLL est la plus pratique. J'ai compilé quelques informations dans ce domaine, dans l'espoir d'aider certains étudiants dans le besoin (je me souviens que lorsque j'ai commencé à apprendre, demander conseil était impensable). //(Copier le livre source)
1. Comment écrire des procédures fonctionnelles :
bibliothèqueFIRSTDLL ;
utilise
SysUtils,
Cours ;
{$R *.RES}
// 1. Définir le processus spécifique et le mode d'interface de sortie de la fonction
//--------------------------------
// fonction 1
// Fonction : fonction d'amplification 3x des données
//--------------------------------
function BBnToSSnn(SourceResult:Integer):Integer;stdCall;
commencer
si RésultatSource>0 alors
Résultat :=SourceResult+3 //Le résultat est stocké dans Résultat
autre
Résultat :=SourceResult ;
fin;
exportations
BBnToSSnn; //2. Définition du port de sortie de fonction
fin.
==
==
2. Créer un formulaire dans une DLL
=======================
1. En une seule étape, créez un projet DLL et ajoutez le formulaire défini
bibliothèque MGRPERSN ;
utilise
SysUtils,
Cours,
MGRPERFM dans 'MGRPERFM.pas' {FormPERSON};//1.Code du formulaire (identique à un formulaire normal)
{$R *.RES}
exportations
ShowPerSN;//2. Définition du port de sortie de fonction
commencer
fin.
2. Paramètres du formulaire défini dans la DLL
============================================
unité MGRPERFM;
interface
utilise
Windows, messages, SysUtils, classes, graphiques, contrôles, formulaires, boîtes de dialogue,
ComCtrls, ToolWin, ImgList ;
taper
TFormPERSON = classe(TForm)
Privé
{Déclarations privées}
publique
{Déclarations publiques}
fin;
//Les variables à ces endroits ne sont plus utilisées, changez-les à un autre endroit, comme suit (en changer une)
//var
// FormPERSON : TFormPERSON ;
{Annoncer la sortie de la fonction Formulaire}//Modifier 2
fonction ShowPerSN (AHandle: THandle; ACaption: String):BOOL;
mise en œuvre
{$R *.DFM}
//définition du processus de données de fonction
function ShowPerSN(AHandle: THandle; ACaption: String):BOOL;
var
FormPERSON : TFormPERSON ; //Définir la classe du formulaire (ce qui précède est placé ici)
commencer
// Copiez le handle d'application dans l'objet programme approprié de la DLL
application.Handle := AHandle;
FormPERSON := TFormPERSON.Create(Application);//Créer le contrôle TForm
essayer
FormPERSON.Caption := ACaption;
FormPERSON.ShowModal;//Afficher ce formulaire
Résultat := False ; //renvoie la valeur de réussite
enfin
FormPERSON.Gratuit ;
fin;
fin;
3. Appel de fonctions et de formulaires dans une DLL
==========================
1. Appelez la première méthode
---------------
implémentation // En dessous, écrivez la DLL qui appelle la fonction
{$R *.DFM}
//Appel de fonction dans la DLL
fonction BBnToSSnn(SourceResult:Integer):Integer;
StdCall externe 'FIRSTDLL.DLL';
........
2. Appelez la deuxième méthode
==============
tapez //Créez une classe de fonctions ici
// 1 ----------------------------------
TShowPerSN = fonction (AHandle : THandle ; ACaption : String) : BOOL StdCall ;
EDLLLoadError = class(Exception); //Créer une classe d'enregistrement d'erreur en même temps
// 1 ----------------------------------
TMAINCLTR = class(TForm) //Aucun changement ici, le système le génère automatiquement
...
procédure TMAINCLTR.ToolButton1Click(Expéditeur : TObject);
var //Événement d'appel de bouton : processus appelant
LibHandle : THandle ;
ShowPerSN : TShowPerSN ;
commencer
Application.Title:='Programme de test des fichiers DLL du système de gestion des ressources humaines';
{Tentative de chargement de la DLL Tentative de chargement du fichier DLL}
LibHandle := LoadLibrary('MGRPERSN.DLL');
essayer
si LibHandle = 0 alors
raise EDLLLoadError.Create('Impossible de charger MGRPERSN.DLL avec succès');
@ShowPerSN := GetProcAddress(LibHandle, 'ShowPerSN');
sinon (@ShowPerSN = nil) alors
ShowPerSN(Application.Handle, 'Personnel Information Management')//Appelez le formulaire
autre
RaiseLastWin32Error ;
enfin
FreeLibrary(LibHandle); // Décharge la DLL.
fin;
fin;
============== FIN ==================
Blog de l'auteur : http://blog.csdn.net/dgc/