THYNOORD
Messages postés5Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 5 juillet 2008
-
23 mars 2008 à 10:22
THYNOORD
Messages postés5Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 5 juillet 2008
-
1 avril 2008 à 17:55
Je suis en train de créer un installateur en Delphi 5 ou Delphi 6 (j'utilise les 2). J'ai créé un utilitaire pour créer automatiquement mes ressources. J'ai maintenant besoin de créer une DLL contenant les ressources à installer. Cela est super mais me demande un nombre de manip trop important! Je souhaite donc créer un petit utilitaire qui crée et compile la DLL... J'ai beau réfléchir, je ne trouve pas le moyen de créer et compiler une DLL de ressource par programme ! Existe-t-il un moyen (ligne de commande / commande DOS ?) pour forcer Delphi à le faire ?
J'ai vu un grand nombre de programmeurs super pointus sur ce site ! Il doit certainement y en avoir plein pour qui cette manip relève du B-A-BA !
THYNOORD
Messages postés5Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 5 juillet 2008 1 avril 2008 à 17:55
Désolé, j'ai un peu délaissé ce forum pdt quelques jours... N'ayant pas trouvé de réponse super claire (ou super précise) pour mon niveau de programmation (), j'ai décidé de faire appel à la méthode empirique et... une fois de plus, ça a marché ! Donc pour tous ceux qui se poseraient la même question, la démarche est la suivante :
> je crée un fichier de ressources (MaRessource.RES)
> je crée un projet DLL intégrant ce fichier de ressource
> je compile la DLL avec la commande :
« DCC32 monexemple.dll -b»
en 't is alles, and that's all, et c'est tout !
En fait c'est tout bête, maintenant, il suffit que j'écrive mon installateur et que je lui associe une dll (que j'appellerai "Installation.dll" -par exemple-) et le même programme pourra installer toutes mes distributions sans être modifié d'une seule ligne !...
cs_matrix1
Messages postés169Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention15 avril 2008 23 mars 2008 à 12:39
DLL redecule fai juste un arhcive de vos resources dans un fichier mais ça serai plus pro si tu les mets dans ton exe, et pour ne pas cassé la tête il y a des composant gratuit et d'autre même opensource pour fair ça éssay le site torry's, j'ai déja fais ça avant un installeur presque complet gestion d'alias (ajour, mise ajour si existe, DBE engine...).
la vie n'est pas aussi difficile qu'ont le pense (bon! par fois :D).
bon courage.
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 24 mars 2008 à 11:24
Salut,
"DLL redecule fai juste un arhcive de vos resources dans un fichier mais
ça serai plus pro si tu les mets dans ton exe"
Juste pour information une DLL est un EXE qui se charge a une adresse mémoire différente ... que les ressources soient dans une DLL ou un EXE c'est du pareil au même (kif kif)
Pour compiler une ressource en ligne de commande ... : Brcc32.exe
Pour compiler un EXE ou une DLL en ligne de commande ... : Dcc32.exe
les deux se trouvent dans le répertoire Bin de ton Delphi
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 mars 2008 à 15:30
ouh la cirec, tu fais dans le raccouci qlq peu excessif.
Une DLL est un binaire exécutable mais certainement pas un exe, le système ne créera jamais un espace processus pour une DLL.
Le point d'entrée d'une DLL (inséré directement pas les linkers modernes) est un code d'attachement à un processus existant alors que celui d'un exe est le début du code du thread primire du processus. Une DLL doit aussi fournir un callback traitant au minimum DLL_PROCESS_ATTACH.
Lire Richter pour la suite.
ciao...
BruNews, MVP VC++
Vous n’avez pas trouvé la réponse que vous recherchez ?
THYNOORD
Messages postés5Date d'inscriptiondimanche 27 janvier 2008StatutMembreDernière intervention 5 juillet 2008 24 mars 2008 à 18:57
Je découvre ces messages intéressants ! Un premier grand merci à tous !
En cherchant ailleurs sur le net j'ai découvert que DCC32.exe avait une liste d'options impressionnante ! Dois-je, après avoir créé l'ossature de la DLL via un fichier texte par exemple depuis mon programme, simplement taper -b DCC32 monexemple.dll ? ou est-ce plus compliqué que cela ?
Merci à qui pourra éclairer ma lanterne un tout petit peu plus !
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 mars 2008 à 19:48
Tu n'y a pas accès en Delphi, c'est une chose mais que Delphi le mette est certain.
Il en va de même en C si on utilise le CRT, pas d'obligation de fournir ce callback mais il est inséré (version minimale) dans tous les cas par le compilo. Si sans CRT alors comme d'hab on est responsable de tout.
cs_matrix1
Messages postés169Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention15 avril 2008 26 mars 2008 à 11:53
exe installeur en 100 M ou un pecket de 100 M c la même chose , mais la diffirence est que t'as q'un seul fichier a utiliser c pour ça que c plus pro, alors pour l'optimisation puisque c moi que 4G c bon.