Utiliser une dll incluse en ressources

Description

Suite à une question dans le forum de Kopierreko, je dépose cette source. Elle permet d'utiliser une DLL qui a été incluse dans l'application sous forme de ressources (notez que c'est légèrement paradoxal car ça va à l'encontre du concept de la DLL ...).
Dans l'exemple, la DLL est chargée dans le fichier ressource "DLLRes.res". Elle contient 2 fonctions : ShowAMessage (qui affiche un message en prenant en paramètre une chaîne), et "MakeABeep", qui effectue un bip sur le haut-parleur (pas de paramètres). Chez moi, le bip ne marche pas mais je suis sous Vista donc je ne peux pas dire si c'est la fonction qui échoue ou mon ordi qui veut pas ...

/!\ Attention ! L'unité ne permet que d'extraire la DLL et de récupérer sous forme de pointeur les fonctions et procédures ! Il faudra déclarer un type fonction/procédure pour chaque type de fonction/procédure compris dans la DLL. Par exemple, si une DLL contient les fonctions :

procedure FaireQuelqueChose(Parametre: Integer);
function FaireAutreChose(Parametre: Integer): Pointer;
function FaireEncoreAutreChose: Boolean;
function FaireUneDerniereChose(Parametre: Integer): Pointer;

Il faudra déclarer les types suivants :

TNomType1 = procedure(Parametre: Integer); // Pour la première procédure
TNomType2 = function(Parametre: Integer): Pointer; // Pour la deuxième et dernière fonction
TNomType3 = function: Boolean; // Pour la troisième fonction

Source / Exemple :


// In the zip

Conclusion :


Voilà tous commentaires, remarques, critiques, etc ...

Cordialement, Bacterius !

PS : codé sous Delphi 6 Personal Edition.

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.