Inclure libmysql.dll [Résolu]

Signaler
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010
-
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010
-
Bonjour,
Je cherche à ajouter libmysql.dll à mon exécutable pour n'avoir d'un seul fichier.
Quelqu'un peut m'aider ?
Merci :)

18 réponses

Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
C'est possible, mais tu vas devoir charger ta DLL dynamiquement (finis les "external 'libmysql.dll'").

1. Inclure dans un fichier .RES ta DLL.
2. Au démarrage de l'appli, extraire ta DLL dans un dossier temporaire.
3. Lier la DLL dynamiquement.

Il y a peut-être même un moyen de ne pas l'extraire et de la lier directement sous forme de ressource !

Mais es-tu sûr que tu as le droit de diffuser cette DLL ? Elle t'appartient ?

Cordialement, Bacterius !
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

C'est la dll pour faire fonctionner les requête sql avec mysql
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

Je ne comprend pas comment il faut faire
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
As-tu le droit de la diffuser ?

Cordialement, Bacterius !
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
13
bonjour,

et en cas de changement
de version de la dll ?


cantador
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

La version de la Dll changera p-e mais je me connecte à ma propre base de donnée qui ne change pas de version. Et il faut absolument que je le réunisse en un seul exécutable, s'il y a moyen.
Oui j'ai normalement le droit de la diffuser puisqu'elle est en téléchargement partout.
D'avance Merci
Messages postés
197
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
20 février 2013
1
Bonsoir,

"Oui j'ai normalement le droit de la diffuser puisqu'elle est en téléchargement partout. "

ça dépend, si c'est un projet open source avec code livré (sous licence GPL ou une approuvée par l'OSI) pas de soucis
si ton application n'est pas dans ce cas, il y a une licence commerciale...

bonne soirée
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

Donc je suis en règles. Comment je peux faire pour l'intégrer SVP?
Merci
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Je t'ai donné une méthode. Comme souvent, ma réponse est ignorée
Je crois que je vais troquer mon avatar contre un bon truc qui brûle la rétine ...

Cordialement, Bacterius !
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

Oui mais je ne comprend pas ta démarche. Tu pourrais détailler stp ?
merci
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
J'ai détaillé dans mon premier message.
1. Créer une unité "DynamicDLL". Dans cette unité, tu vas lier ta DLL (une fois extraite de ton executable). Et cette unité détachera aussi la DLL une fois qu'on n'en a plus besoin. Mots clés : LoadLibrary, GetProcAddress, CloseHandle.
2. Définir une fonction "ExtractDLL", qui va extraire la DLL de ton exécutable, dans un dossier temporaire. Mots clés : TMemoryStream, GetTempDir.
3. Au démarrage de ton application, lancer ExtractDLL, puis faire tourner l'unité "DynamicDLL".
4. Eventuellement, supprimer la DLL à la fin de l'exécution de ton programme. Mot clé : DeleteFile. (pense à détacher ta DLL de ton application avant de supprimer la DLL !).

Cordialement, Bacterius !
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

je ne sais pas faire ça. dsl
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Dommage !

Cordialement, Bacterius !
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
13
@Bacterius:
c'est peut-être l'opportunité de déposer une source afin de montrer cette procédure...


cantador
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Bonne idée !

Cordialement, Bacterius !
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

Ouais, bonne idée lol :) car là je suis dépassé, je ne suis que programmeur en herbe en delphi

Merci
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
[Quelque chose] en herbe signifie qu'on est très compétent dans [Quelque chose]

Cordialement, Bacterius !
Messages postés
139
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
10 juillet 2010

Ha bha merci j'ai toujours cru le contraire lol