Inclure libmysql.dll

Résolu
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010 - 12 sept. 2009 à 11:49
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010 - 16 sept. 2009 à 14:07
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

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 sept. 2009 à 12:40
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 !
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
12 sept. 2009 à 12:48
C'est la dll pour faire fonctionner les requête sql avec mysql
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
12 sept. 2009 à 12:50
Je ne comprend pas comment il faut faire
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
12 sept. 2009 à 12:52
As-tu le droit de la diffuser ?

Cordialement, Bacterius !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 sept. 2009 à 13:51
bonjour,

et en cas de changement
de version de la dll ?


cantador
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
12 sept. 2009 à 14:03
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
0
cs_47 Messages postés 197 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 20 février 2013 1
13 sept. 2009 à 00:27
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
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
13 sept. 2009 à 14:28
Donc je suis en règles. Comment je peux faire pour l'intégrer SVP?
Merci
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
13 sept. 2009 à 14:35
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 !
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
13 sept. 2009 à 14:40
Oui mais je ne comprend pas ta démarche. Tu pourrais détailler stp ?
merci
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
14 sept. 2009 à 07:36
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 !
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
14 sept. 2009 à 18:48
je ne sais pas faire ça. dsl
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
15 sept. 2009 à 05:55
Dommage !

Cordialement, Bacterius !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
15 sept. 2009 à 09:06
@Bacterius:
c'est peut-être l'opportunité de déposer une source afin de montrer cette procédure...


cantador
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
15 sept. 2009 à 09:36
Bonne idée !

Cordialement, Bacterius !
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
15 sept. 2009 à 18:48
Ouais, bonne idée lol :) car là je suis dépassé, je ne suis que programmeur en herbe en delphi

Merci
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 sept. 2009 à 06:40
[Quelque chose] en herbe signifie qu'on est très compétent dans [Quelque chose]

Cordialement, Bacterius !
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
16 sept. 2009 à 14:07
Ha bha merci j'ai toujours cru le contraire lol
0
Rejoignez-nous