1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| unit UnitMenuDeroulant;
interface
uses
Classes, ExtCtrls, Buttons, Graphics, Controls, Types, Windows, Dialogs;
type
TGetRes = procedure (var BmpD, BmpG, BmpUl, BmpL: Graphics.TBitmap);
TMenuDeroulant = class(TComponent)
Panel: TPanel;
BtnMenu: TSpeedButton;
BtnLock: TSpeedButton;
Timer: TTimer;
private
BmpD, BmpG, BmpUl, BmpL: Graphics.TBitmap;
public
procedure LoadDll;
published
end;
var
GetBmpFromRessource: TGetRes;
NomDll: String;
hDLL:THandle;
implementation
{ TMenuDeroulant }
procedure TMenuDeroulant.LoadDll;
begin
NomDll:='MenuRes.dll';
hDLL:=LoadLibrary(PChar(NomDll)); // chargement de la dll
if hDLL=0 then ShowMessage('erreur au chargement de la DLL');
@GetBmpFromRessource:=GetProcAddress(hDLL,'GetBmpFromRessource'); // affectation de la fonction somme de la dll à la fonction somme de notre programme
if @GetBmpFromRessource = nil then
begin
MessageDlg('Fonction non chargée !', mtWarning, [mbOK], 0);
FreeLibrary(hDLL);
Exit;
end;
end; |
Partager