Pas la moindre idée. Faudrait voir avec Andnotor.
Et sinon, poste là https://www.developpez.net/forums/f1...pple/mac-os-x/, des fois que ça morde...
Pas la moindre idée. Faudrait voir avec Andnotor.
Et sinon, poste là https://www.developpez.net/forums/f1...pple/mac-os-x/, des fois que ça morde...
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
Pour autant, ceci n'explique pas la non récupération de la fonction dans la dll...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 type TEnvoiDirLib = function(Dir: PChar): Boolean; stdcall; var EnvoiDirLib: TEnvoiDirLib; begin if HndLib <> 0 then begin // prend la variable EnvoiDirLib comme pointeur non typé pour lui attribuer la valeur de retour de GetProcAddress Pointer(EnvoiDirLib) := GetProcAddress(HndLib, 'EnvoiDirLib'); // peut s'écrire aussi EnvoiDirLib := TEnvoiDirLib(GetProcAddress(HndLib, 'EnvoiDirLib')); // teste que l'adresse de la variable EnvoiDirLib n'est pas nil if @EnvoiDirLib <> nil
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
pointer(Variable) est juste un transtypage du contenu de la variable alors que @Variable est l'adresse de cette variable. @Variable est équivalent à addr(Variable).
A mon avis c'est la déclaration de la procédure dans la bibliothèque qui pose problème. Les procédures exportées devraient systématiquement débuter par un souligné _EnvoiDirLib puisqu'en chargement dynamique le pendant pour Mac de GetProcAddress l'ajoute systématiquement.
DLL
L' exécutable ne change pas puisque le souligné est ajouté d'office.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function _EnvoiDirLib(Dir: PChar): Boolean; cdecl; exports _EnvoiDirLib;
Code : Sélectionner tout - Visualiser dans une fenêtre à part GetProcAddress(HndLib, 'EnvoiDirLib');
Plus qu'à faire un {$IFDEF} en fonction de la plateforme![]()
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