Voilà : je cherche à savoir, dans une dll, le chemin de celle ci. Il me faudrait donc une fonction du genre Application.ExeName mais pour une Dll.
Merci.
Voilà : je cherche à savoir, dans une dll, le chemin de celle ci. Il me faudrait donc une fonction du genre Application.ExeName mais pour une Dll.
Merci.
Voir GetModuleFileName dans l'unité Windows.pas
Merci beaucoup ! J'avais complètement oublié cet API !
D'où l'intérêt d'utiliser ParamStr(0) qu'on soit dans un exe ou un dll :
Application.ExeName appelle ParamStr(0), qui lui même appelle GetModuleFileName (qui lui est moins pratique à utiliser que ParamStr)
ParamStr(0) dans une dll renvoie le chemin de la dll ?
ParamStr(0) fait un appel à GetModuleFileName donc y a des chances que oui puisque fdc disait que cette fonction de l'API fonctionnait...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 function ParamStr(Index: Integer): string; {$IFDEF MSWINDOWS} var P: PChar; Buffer: array[0..260] of Char; begin Result := ''; if Index = 0 then SetString(Result, Buffer, GetModuleFileName(0, Buffer, SizeOf(Buffer))) else begin P := GetCommandLine; while True do begin P := GetParamStr(P, Result); if (Index = 0) or (Result = '') then Break; Dec(Index); end; end; {$ENDIF} {$IFDEF LINUX} begin if Index < ArgCount then Result := PCharArray(ArgValues^)[Index] else Result := ''; {$ENDIF} end;
Ok Ok !!! Merci à tous !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager