cs_dectroo
Messages postés30Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention31 mars 2010
-
18 sept. 2006 à 18:53
cs_dectroo
Messages postés30Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention31 mars 2010
-
20 sept. 2006 à 17:04
salut à tous,
g chercher trop sur un code pour mettre des tas de fichiers ocx et dll dans un exe pour rendre touts une application indepandant des fichiers dlls et ocx sauf kelk un (comme vb6fr.dll )bon g trouvé un source pour ajaja : voilà le code
Set z = CreateObject("scripting.filesystemobject").getspecialfolder(1) 'avoir la reperatoire windows
Index = 100 'index de la ressource
myocx = "comdlg32.dll" 'nom du ocx
If Dir(z & "\" & myocx) <> "" Then GoTo done
resdata = LoadResData(Index, "Custom") 'mettre le fichier en mémoire
'écrire l'ocx
Open z & "\" & myocx For Binary Access Write As #1
Put #1, , resdata
Close #1
mé le problem si je vx integrer autre tipe tel ke dll ...... keske je vais mettre comme Index et parquoi faut-il remplacer "Custom" en resdata =loadResData(101, "Custom")
SVP si klk peu me cité un tuto j'en ai trop besoin
Merci d'avence @++++
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 19 sept. 2006 à 07:01
Pas de problèmes, le principal, c'est que tu corrige le tir dès maintenant en n'écrivant plus en sms ;)
Pour ton problème d'écriture, je te conseille de remplacer les id donnés par défaut (101, 102, etc.) par des chaînes en clair du style : "mscomcfg.ocx', etc.
Pour l'écriture d'un fichier dll, voici un petit bout de code qui devrait t'interesser :
Private Function IsPresent(ByVal sRessourceType As String, ByVal sRessourceName As String) As Boolean
'======================================================================
'Function : IsPresent
'Date : 13/02/2005
'Auteur : DarK Sidious
'But : Permet de savoir si une ressource est présente ou non
'======================================================================
'on active la routine de traitement d'erreur
On Error GoTo erreur0
'déclaration des variables privées
Dim byBuffer() As Byte
'on essaye d'extraire la ressource
byBuffer = LoadResData(sRessourceName, sRessourceType)
'la fonction a réussie
Let IsPresent = True
Exit Function
'routine de traitement d'erreur
erreur0:
'Problème : La ressource n'est pas présente
'Solution : On renvoie une valeur d'erreur : False
Let IsPresent = False
End Function
Private Function ExtractFile(sFileName As String, sRessourceType As String, sRessourceName As String) As Boolean
'======================================================================
'Function : ExtractFile
'Date : 13/02/2005
'Auteur : DarK Sidious
'But : Permet d'extraire un fichier des ressources
'======================================================================
'on active la routine de traitement d'erreur
'On Error GoTo erreur0
'déclaration des variables privées
Dim byBuffer() As Byte
'on écrit le fichier
Open sFileName For Binary Access Write As #1
Put #1, , byBuffer
Close #1
'la fonction a réussie
Let ExtractFile = True
Exit Function
'routine de traitement d'erreur
erreur0:
'Problème : On n'a pas pu enregistrer la dll
'Solution : On quitte la fonction avec une valeur d'erreur : False
Let ExtractFile = False
End Function
Et pour s'en servir, par exemple :
Let sNomDossierSysteme = Space(128)
Let lNomDossierSysteme = 128
Let lNomDossierSysteme = GetShortPathName(SystemPath, sNomDossierSysteme, lNomDossierSysteme)
Let sNomDossierSysteme = Left(sNomDossierSysteme, lNomDossierSysteme)
If IsPresent("CUSTOM", "OCX_FTP") Then
If ExtractFile(sNomDossierSysteme & "\TxFTP.ocx", "CUSTOM", "OCX_FTP") Then
Cette méthode est très bien adaptée pour faire un patcheur perso (c'est celle que j'utilise depuis quelques années sur plusieurs projets, et elle marche très bien, à conditions de ne pas se planter dans les versions des dll !).
Mais si ton but c'est d'avoir un exe indépendant de tout fichier, ne cherche pas, c'est pas possible ! Il te manquera forcément des dépendances vers les fichiers de la machine virtuelle de vb, et sans ceux-ci, tu ne pourras pas lancer ton exe => obligation de passer par un setup, comme dit un peu partout sur le forum et les sources !
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 18 sept. 2006 à 20:33
Tu parle, ce que veux ça me regarde pas. Tu n'es pas le seul à parler plusieurs langues. Et si tu as dis ça, pour m'impressionner, tu as rater la cible.
Par contre, ici, c'est un forum français, donc on parle et on écrit surtout en (vrai) français.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 18 sept. 2006 à 20:44
Que tu parle arabe ou japonais ne te dispense pas de respecter le règlements Codes-Sources qui a été écrit pour TOUT les membres, qu'ils soient français ou étrangers !
cs_dectroo
Messages postés30Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention31 mars 2010 18 sept. 2006 à 23:28
pardon les amis, j'ai oublié qu'il faut parler français et nn pas un langage SMS
je suis vraiment désolé ,
maintenant je cherche quelqu'un peut me siter un tuto ou je peux trouvé un cours sur les ressource (*.res) et command ecrire là dans, car j'ai trouvé un tous bout de code consernant l'indepandance d'une application des fichier dll et ocx , parce que j'en ai vraiment besion,
Merci d'avence pour tous cas
et je réexuse Mr casy et Mr Admin j'en ai honte
cs_dectroo
Messages postés30Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention31 mars 2010 19 sept. 2006 à 19:46
merci bien, mais j'arrive pas à utiliser ton programme car il me manque cette fonction : GetShortPatchName(), mais bon sava rouler.
et ce qui conserne les ressource j'adapte pas bien sa fonctionnement et qu'est ce qu'ils sont en verité, si quelqu'un a une idée peu m'expliquer car je sus un super debutant j'ai besoin de l'aide..
-------------------------
Merci d'avence
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 19 sept. 2006 à 20:11
le fichier de ressource, c'est tout simplement pour spécifier à vb de rajouter des informations binaires à la fin de l'exe qui sera compilé avec, et qu'on peux y accèder par un id.
cs_dectroo
Messages postés30Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention31 mars 2010 20 sept. 2006 à 13:20
ah merci et donc à la compilation du projet et l'ecriture de fichier exe , automatiquement le contenu de l'ocx ou de dll et rajouté à la fin du exe ,,,, et que se code que tu a ma donné est utiliser pour extrair ces donné !??
cs_dectroo
Messages postés30Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention31 mars 2010 20 sept. 2006 à 17:04
ah bon j'ai comprie mais pour le mot clair que tu m'a dit de le mettre à la place de l'ID c'est un peu defficile de le retrouver n'est ce pas ?
bon une autre question, tu dit qu'on utilise LoadResData("OCX_FTP","Costum")
pour un OCX et pour le DLL?? qu'est ce qu'on met??
-----
Merci d'avence