CodeS-SourceS Groupes CodeS-SourceS est hébergé par Frontier.fr

Dernières discussions du même thème...

Accès à un control
Bonsoir j'ai créé plusieurs control identiques (en les positionnant sur une form) ayant tous un nom (Name) identique sauf pour le dernier caractère qui est un chiffre. Par exemple j'ai grid0 à grid5 J'essaie d'accéder à ces control via une boucle po...

Détecter UTF-8
Bonjour, J'ai utilisé, pour détecter le codage UTF-8 dans un fichier (php, html ou autre fichier texte), les fonctions API WideCharToMultiByte() et MultiByteToWideChar() appelées successivement. Cette méthode ne fonctionne évidemment que s'il existe des...

Taille et résolution d'écran
Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il une piste... Je fais un programme qui est déployé sur plusieurs PC ayant chacun des tailles et des résolution différentes, donc quand je développe mon programme sur mon petit 17...

VB6: Fonction WriteFile pour USB en classe HID
Bonjour, Je cherche à communiquer avec un périphérique USB fonctionnant en classe HID. Toutes les fonctions API permettant de détecter ce périph et de lire ses caractéristiques ne posent aucun problème (après avoir toutefois pas mal galéré...). Mais l'a...

APPLICATION VB EN RESEAU
Bonjour tous le monde, Je viens de terminer la création d'une application de gestion des avances, j'utilise VB6 et ADO et sql server 2000 (DataBase). Je veux travailler avec mon application sur un poste client sachant que la base se trouver sur le serveur...


Dernières discussions...

Calcul dans Fusion WORD 2002
Bonsoir, Après avoir parcouru le forum, les FAQWORD... , je tente, en vain, de faire un calcul lors d'une fusion avec un fichier EXCEL avec WORD 2002. J'ai essayé différentes façons, (essayer : Ctrl+F9 {=sum({MERGEFIELD "Champ 1"}; ou :{MERGEFIELD "Cham...

liaisons fichier Excel
Bonjour à tous; J'ai un fichier excel qui contient des liaisons vers un autre fichier Excel et j'aurais voulu savoir si il y avait une possiblilité pour ne plus avoir la fenêtre avec le message qui m'indique que j'ai des liaisons, me demandant de mettre à...

Utilisation des compléments
Rebonsoir Certains programmes utilisent des "compléments" qu'il faut cocher dans une liste de l'éditeur VBA. Est ce qu'un programme VBA dans ThisWorkbook peut dire si la liste cochée est compatible avec l'exécution d'un module avant d'avoir un messa...

Accès à un control
Bonsoir j'ai créé plusieurs control identiques (en les positionnant sur une form) ayant tous un nom (Name) identique sauf pour le dernier caractère qui est un chiffre. Par exemple j'ai grid0 à grid5 J'essaie d'accéder à ces control via une boucle po...

Lecture des constantes entre 2 applications
Bonsoir J'ai des constantes publiques décrite en tête d'un module VBA installé dans une application A Je souhaite pouvoir faire lire ces constante par un autre module contenu dans une autre application B La seule méthode que je connaisse consiste à l...

Offres d'emploi et de stage...

  • Recherche Programmeur- webmaster
    Recherche Programmeur- webmaster
    recherche un programmeur-webmaster ayant de bonnes connaissances en langage PHP et Javascript qui travaillera au sein d'une équipe de programmeurs et participera à la vie d'un site dynamique BtoB, notamment en optimisant l'existant et en programmant ...
  • Recherche développeurs C++
    MISSION : - Analyse, recommandation d'implémentation - Participation aux phases de spécification - Développement C++ ou C# de logiciels industriels et techniques PROFIL : - niveau bac+2 ou plus - Bon niveau de compétence en développement C++ ...
  • Recherche développeur Linux / Python / ...
    Recherche développeur Linux / Python / ...
    PimenTech recherche des collaborateurs BAC+5 (obligatoire) pour participer au développement de Systèmes d'Information web sur technologies Debian / PostgreSQL / Python / Django & co. Vous devez maitriser l'environnement Unix et avoir une expérienc...
  • Recherche un développeur PHP 5 confirmé (h/f)
    Recherche un développeur PHP 5 confirmé (h/f)
    Dans le cadre du renforcement de son pôle développement, Dn’D recherche un développeur PHP 5 confirmé. Vous interviendrez dans la production front et back office, vous travaillerez en collaboration avec les chefs de projets à partir des créations ...
  • Recherche Développeur web (PHP / MySql / Ajax )
    Recherche Développeur web (PHP / MySql / Ajax )
    Nous recherchons un développeur qui rejoindra notre équipe et travaillera sur le développement d'applications web en environnement PHP/MySql. Vous travaillerez en collaboration avec le Chef de Projet, vous serez en charge du développement des logici...

Logiciels à télécharger...

  • Checklan Central Admin (2.1.0)
    Checklan Central Admin (2.1.0)
    Checklan Central Admin est un outils professionnel d'administration et d'inventaires ergonomique et intuitif intégrant une base de donnée dynamiques, exports html / xls / text / mdb. aucun déploie...
  • MySQL Community Edition (5.0.67) [Gratuit / Freeware]
    MySQL Community Edition (5.0.67) [Gratuit / Freeware]
    Système de gestion de bases de données relationnelles embarquée....
  • GPU-Z (0.2.7) [Gratuit / Freeware]
    GPU-Z (0.2.7) [Gratuit / Freeware]
    C'est un petit utilitaire sans installation qui renseigne sur votre/vos cartes graphiques ATI ou NVIDIA....
  • CuteFTP (8.3.1 Home)
    CuteFTP (8.3.1 Home)
    Cute FTP Home est un client FTP (File Transfer Protocol) qui permet le transfert de fichiers entre votre ordinateur et un serveur FTP n'importe où sur Internet. Il est rapide, léger, efficace et très...
  • Electric Sheep (2.6.6 / 2.7 beta 4) [Gratuit / Freeware]
    Electric Sheep (2.6.6 / 2.7 beta 4) [Gratuit / Freeware]
    "Do Androids Dream of Electric Sheep ?" Philip K Dick Est-ce que les ordinateurs rêvent de moutons électrique ? tel est la question et les développeurs de "Electric Sheep" sont partis de cela pou...



Trouver une discussion à propos de...



N'arrive pas à supprimer 1 DLL ???

Ecrit par LE TROLL le lundi 21 juillet 2008 dans le thème : Visual Basic

        Bonjour,

    Comprends pas...

    Je supprime en sortant (unload), un tas de
fichiers dans le même répertoire
"kill "nomFic.ext"
Mais quand j'arrive sur la dll (zlib.dll) pour les
zip, il me dit:
"75 : Erreur dans le chemin d'accès" (n'importe
quoi !!!) ???
Si j'affiche (app.path & "\zlib.dll"), j'ai bien
le bon endroit ???

    Y aurait-il une spécificité pour une dll ???

    Et si jamais la dll était encore utilisée ???
Je n'y connais rien en dll, est-ce que ça ne
pourrait pas venir de là ???
Comment on décharge (stoppe l'appel) d'une DLL ???
Car je crois que c'est depuis un module de classe
qui n'est pas de moi, que la dll est utilisée ???

Je mets ci-dessous le module, j'y comprends pas
tout, peut être verrez-vous comment être certain
que la dll n'est plus utilisée, ou comment faire
pour avoir ce résultat ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm

-----------le code du dudule de classe---------


' module de classe zipExtractionClass : loto Net
csv
    '
Option Explicit
Private fh As Long
Private Declare Function CopyMemory Lib
"kernel32" Alias "RtlMoveMemory" (dest As Any, src
As Any, ByVal length As Long) As Long
Private Declare Function lstrcpy Lib "kernel32"
Alias "lstrcpyA" (ByVal lpBuffer As String, ByVal
lpString As Long) As Long
Private Declare Function lstrlen Lib "kernel32"
Alias "lstrlenA" (ByVal lpString As Long) As Long
Private Declare Function ZLibVer Lib "zlib"
Alias "zlibVersion" () As Long
Private Declare Function UnCompress Lib
"zlib.dll" Alias "uncompress" (dest As Any,
destLen As Any, src As Any, ByVal srcLen As Long)
As Long
Private Declare Function lCRC32 Lib "zlib.dll"
Alias "crc32" (ByVal crc As Long, Buffer As Any,
ByVal length As Long) As Long

Public Enum eZipError
zeZLibNotInstalled = 1
zeNotZipFile = 2
zeNoOpenZipFile = 3
zeUnsupportedCompressionMethod = 4
zeChecksumError = 5
zeFileNotFound = 10
zeFileAlreadyExists = 11
zeCantRemoveFile = 12
zeCantCreateFolder = 13
End Enum

Private Type typCentralFileHeader
CentralFileHeaderSigniature As Long
VersionMadeBy As Integer
VersionNeededToExtract As Integer
GeneralPurposeBitFlag As Integer
CompressionMethod As Integer
LastModFileTime As Integer
LastModFileDate As Integer
CRC32 As Long
CompressedSize As Long
UnCompressedSize As Long
FileNameLength As Integer
ExtraFieldLength As Integer
FileCommentLength As Integer
DiskNumberStart As Integer
InternalFileAttributes As Integer
ExternalFileAttributes As Long
RelativeOffsetOfLocalHeader As Long
End Type

Private Type typCenteralDirEnd
EndOFCentralDirSignature As Long
NumberOfThisDisk As Integer
NumberOfDiskWithCentralDir As Integer
EntriesInTheCentralDirThisOnDisk As Integer
EntriesInTheCentralDir As Integer
SizeOfCentralDir As Long
OffSetOfCentralDir As Long
ZipFileCommentLength As Integer
End Type

Private Type typLocalFileHeader
LocalFileHeaderSignature As Long
VersionNeededToExtract As Integer
GeneralPurposeBitFlag As Integer
CompressionMethod As Integer
LastModFileTime As Integer
LastModFileDate As Integer
CRC32 As Long
CompressedSize As Long
UnCompressedSize As Long
FileNameLength As Integer
ExtraFieldLength As Integer
End Type

Private Const EndOFCentralDirSignature As Long =
&H6054B50
Private Const CentralFileHeaderSigniature As Long
= &H2014B50
Private Const LocalFileHeaderSignature As Long =
&H4034B50

Private CentralFileHeader As typCentralFileHeader
Private CentralDirEnd As typCenteralDirEnd

Private CentralDirEndPos As Long

Public Event Progress(Percent As Long, Cancel As
Boolean)
Public Event Status(Text As String)
Public Event ZipError(Number As eZipError,
Description As String)

Public Function OpenZip(ZipPath As String) As
Boolean

RaiseEvent Status("Opening Zip")
CloseZip

If Not FileExists(ZipPath) Then
     RaiseEvent ZipError(zeFileNotFound, "The
file " & ZipPath & " doesn't exist")
     Exit Function
End If

fh = FreeFile
Open ZipPath For Binary As #fh

CentralDirEndPos = GetCentralDirEndPos(fh)
If CentralDirEndPos > 0 Then
     OpenZip = True
     RaiseEvent Status("Zip Opened")
Else
     RaiseEvent ZipError(zeNotZipFile, "The file
" & ZipPath & " is not a Zip file")
End If

End Function

Public Sub CloseZip()
If fh <> 0 Then
     Close #fh
     fh = 0
     RaiseEvent Status("Zip Closed")
End If
CentralDirEndPos = 0
End Sub

Public Function Extract(FolderPath As String,
Optional PreservePath As Boolean, Optional
Overwrite As Boolean) As Boolean
Dim l As Long
Dim FileName As String
Dim FilePos As Long
Dim Cancel As Boolean

If Len(ZLibVersion) = 0 Then
     Exit Function
End If

RaiseEvent Status("Extracting Files")

If CentralDirEndPos = 0 Then
     RaiseEvent ZipError(zeNoOpenZipFile, "There
is no Zip File Open")
     Exit Function
End If

If Not FolderExists(FolderPath) Then
     If Not CreateFolder(FolderPath) Then
         RaiseEvent ZipError(zeCantCreateFolder,
"Can't create the folder " & FolderPath)
         Exit Function
     End If
End If

If ReadCentralDirEnd(CentralDirEndPos) Then
     Seek #fh, CentralDirEnd.OffSetOfCentralDir +
1
     For l = 1 To
CentralDirEnd.EntriesInTheCentralDir
         ReadCentralFileHeader FileName
         If CentralFileHeader.UnCompressedSize > 0
Then
            If PreservePath Then
             CheckFolder FolderPath,
GetFilePath(FileName)
            Else
             FileName = GetFileName(FileName)
            End If
            RaiseEvent Status("Extracting ...\" &
FileName)
            FilePos = Seek(fh)
            If FileExists(FolderPath & "\" &
FileName) Then
             If Overwrite Then
                 If RemoveFile(FolderPath & "\" &
FileName) Then
                     ExtractFile FolderPath & "\"
& FileName
                 Else
                     RaiseEvent
ZipError(zeCantRemoveFile, "Can't remove the file
" & FolderPath & "\" & FileName)
                 End If
             Else
                 RaiseEvent
ZipError(zeFileAlreadyExists, "The file " &
FolderPath & "\" & FileName & " already exists")
             End If
            Else
             ExtractFile FolderPath & "\" &
FileName
            End If
            Seek fh, FilePos
         End If
         DoEvents
         RaiseEvent Progress((l /
CentralDirEnd.EntriesInTheCentralDir) * 100,
Cancel)
         If Cancel Then
            Exit Function
         End If
     Next
     Extract = True
End If

RaiseEvent Status("Extraction Complete")

End Function

Private Function GetFileName(Path As String) As
String

Dim l As Long

l = InStrRev(Path, "\")
If l > 0 Then
     GetFileName = Right$(Path, Len(Path) - l)
Else
     GetFileName = Path
End If

End Function

Private Function GetFilePath(Path As String) As
String

Dim l As Long

l = InStrRev(Path, "\")
If l > 0 Then
     GetFilePath = Left$(Path, l - 1)
End If

End Function

Private Sub CheckFolder(ByVal FolderPath As
String, CheckPath As String)

Dim s() As String
Dim v As Variant

s = Split(CheckPath, "\")
For Each v In s
     FolderPath = FolderPath & "\" & v
     If Not FolderExists(FolderPath) Then
         MkDir FolderPath
     End If
Next

End Sub

Private Sub ReadCentralFileHeader(FileName As
String)

Dim ExtraField As String
Dim Comment As String

Get #fh, , CentralFileHeader
If
CentralFileHeader.CentralFileHeaderSigniature =
CentralFileHeaderSigniature Then
     FileName =
Space(CentralFileHeader.FileNameLength)
     Get #fh, , FileName
     FileName = Replace(FileName, "/", "\")
     ExtraField =
Space(CentralFileHeader.ExtraFieldLength)
     Get #fh, , ExtraField
     Comment =
Space(CentralFileHeader.FileCommentLength)
     Get #fh, , Comment
End If

End Sub

Private Function ReadCentralDirEnd(Position As
Long) As Boolean
' Dim l As Long
Dim ZipComment As String

Get #fh, Position, CentralDirEnd
ZipComment =
Space(CentralDirEnd.ZipFileCommentLength)
Get #fh, , ZipComment

ReadCentralDirEnd =
CentralDirEnd.NumberOfThisDisk =
CentralDirEnd.NumberOfDiskWithCentralDir

End Function

Private Function ExtractFile(Path As String) As
Boolean

Dim LocalFileHeader As typLocalFileHeader
Dim b() As Byte

Dim FileName As String
Dim ExtraField As String

Get #fh,
CentralFileHeader.RelativeOffsetOfLocalHeader + 1,
LocalFileHeader
If LocalFileHeader.LocalFileHeaderSignature =
LocalFileHeaderSignature Then
     FileName =
Space(LocalFileHeader.FileNameLength)
     Get #fh, , FileName
     ExtraField =
Space(LocalFileHeader.ExtraFieldLength)
     Get #fh, , ExtraField
     ReDim b(LocalFileHeader.CompressedSize - 1)
     Get #fh, , b
     If CentralFileHeader.CompressionMethod = 0
Then 'No Compression
         SaveFile Path, b
     ElseIf CentralFileHeader.CompressionMethod =
8 Then 'Deflate Method
         If UnCompressBytes(b,
LocalFileHeader.CompressedSize,
LocalFileHeader.UnCompressedSize,
LocalFileHeader.CRC32) Then
            SaveFile Path, b
         Else
            RaiseEvent ZipError(zeChecksumError,
"Data checksum error in " & Path)
         End If
     Else
         RaiseEvent
ZipError(zeUnsupportedCompressionMethod, "The
compression Method for " & FileName & " is
unsupported")
     End If
End If

End Function

Private Function FileExists(Path) As Boolean
On Error Resume Next
FileExists = Not (Len(Dir$(Path, vbNormal)) = 0)
End Function

Private Function FolderExists(Path) As Boolean
FolderExists = Not (Len(Dir$(Path, vbDirectory))
= 0)
End Function

Private Function CreateFolder(Path As String) As
Boolean
On Error GoTo eh
MkDir Path
CreateFolder = True
eh:
End Function

Private Function RemoveFile(Path As String) As
Boolean

On Error GoTo eh

Kill Path
RemoveFile = True

eh:
End Function

Private Function GetCentralDirEndPos(fh As Long)
As Long

Dim Data() As Byte
Dim l As Long
Dim m As Long

ReDim Data(LOF(fh) - 1)
Get #fh, , Data

For l = UBound(Data) - 3 To LBound(Data)
Step -1
     CopyMemory m, Data(l), 4
     If m = EndOFCentralDirSignature Then
         GetCentralDirEndPos = l + 1
         Exit Function
     End If
Next

End Function


Private Function UnCompressBytes(Buffer() As Byte,
CompressedSize As Long, UnCompressedSize As Long,
CRC32 As Long) As Boolean
Dim b() As Byte
Dim BufferSize As Long
Dim FileSize As Long
Dim crc As Long
Dim r As Long
ReDim b(UBound(Buffer) + 2)
'Zlib's Uncompress method expects the 2 byte
head that the Compress method adds
'so we put that on first. Luckily it's always
the same value.
b(0) = 120
b(1) = 156
CopyMemory b(2), Buffer(0), UBound(Buffer) + 1
FileSize = UBound(Buffer) + 3
BufferSize = CentralFileHeader.UnCompressedSize
* 1.01 + 12
ReDim Buffer(BufferSize - 1) As Byte
r = UnCompress(Buffer(0), BufferSize, b(0),
FileSize)
ReDim Preserve
Buffer(CentralFileHeader.UnCompressedSize - 1)
crc = lCRC32(0&, Buffer(0), UBound(Buffer) + 1)
If crc = CRC32 Then UnCompressBytes = True
End Function


Private Sub SaveFile(Path As String, Data() As
Byte)
Dim lfh As Long
lfh = FreeFile
Open Path For Binary As #lfh
Put #lfh, , Data
Close #lfh
End Sub

Private Function PointerToString(Pointer As Long)
As String
Dim l As Long
Dim s As String
l = lstrlen(Pointer)
s = Space(l)
l = lstrcpy(s, Pointer)
If l > 0 Then
     PointerToString = s
End If
End Function

Public Property Get ZLibVersion() As String

On Error GoTo eh

ZLibVersion = PointerToString(ZLibVer)

Exit Property
eh:

RaiseEvent ZipError(zeZLibNotInstalled, "Zlib
is not installed")

End Property

Private Sub Class_Terminate()

CloseZip

End Sub


------------------------------------------------------------------------------------




Classé sous : long, if, end, function, private

Les Réponses

  N'arrive pas à supprimer 1 DLL ??? par LE TROLL
   Re: N'arrive pas à supprimer 1 DLL ??? par Jean-marc
    Re: N'arrive pas à supprimer 1 DLL ??? par LE TROLL

Codes en rapport sur CodeS-SourceS avec N'arrive pas à supprimer 1 DLL ???

EXECUTER UN SCRIPT LONGUE DURÉE SANS LIMITATION DU SERVEUR
Généralement quand on doit exécuter des scripts d'entretien de base de données par exemple, ceux-ci ...

GÉNÉRATEUR DE MOTS DE PASSES ALÉATOIRES DE LONGUEUR PARAMÉTRABLE
Avec cette petite fonction, vous pouvez générer des mots de passe, respectant les majuscules/minuscu...

NO HTML BALISE [MYSQL]
Fonction qui enlève les balises d'une chaîne de caractère (réalisé sous mySQL). Utile pour supprimer...

IFSETOR POUR PHP5
Vous avez peut être entendu parlé de l'opérateur ifsetor de php6 voila en quelque ligne un résultat...

INVALIDER LES SUBMIT DES FORMULAIRES [ ISF ]
invalide les boutons submit des formulaires, en les cachant, une fois ces formulaires soumis. ...

Les discussions similaires sur CodeS-SourceS à N'arrive pas à supprimer 1 DLL ???

Problème avec les Threads et la fonction Creaobject
Bonjour à tous, Voila, j'ai un gros problème avec les Thread sous VB 6. Plus précisément, c'est la fonction CreateObject dans la fonction de mon thread qui pose problème. Je m'explique : Mon but et de cr&...

conversion en .NET
slut tlm !je cherche à terminer la conversion de ce code en .net.j'arrive à éliminer les erreurs mais pas à faire fonctionner le logiciel qui doit me rendre le chemin d'accès du fichier joué par winampvoici le...

[VB6]optimise déclaration variable
Salut à tous,pour le moment je ne trouve aucune information concernant l'optimisation au niveau de la déclaration de variable qu'elle est la meilleure façon d'écrire ?...la plus performante 1) <br /...

[vb2005] Utilisation Api !!
Bonjour, j'essaye d'utiliser les api suivantes dans mon prog en VB2005 pour recuperer le code source html d'une page web :     Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (By...

Transparence
Salut à tous, Je souhaite rendre une couleur semi-transparente sur une de mes forms. Ca fait des heures et des heures que je cherche et je n'ai pas trouvé. J'ai trouvé comment rendre une form transparente ou semi-transparente à 50% ou autre, j'ai trouv...

Couleur de fond d'un contrôle slider
Bonjour a tous Quelqu'un peut me dire dans un 1er temps si il y a un incon...

Besoin d'aide pour mon projet VBA
Je suis novice comme certains le savent déjà et je dois faire une macro VBA dans le cadre de mon stage.Quelques un d'entre vous m'ont déjà aidé et je les en remercie. Il faut que je fasse une fenêtre que charge mes 2 graphes en JPEG...

Récupération des variables
Bonjour à tous !Je savais que je me lançais dans un projet au-dessus de mes compétences, mais c'est à mon avis comme cela comme apprend.Bref, après avoir surmonté presque seul la première difficulté, j'ai à anouveau besoin  de l'aide de...

adapter userform en fct de l'ecran
Bonjour à tous j’ai créé une interface pour mon boulot sur mon pc sa fonctionne très bien mais je suis amené à donner ma programmation à plusieurs personnes de l’entreprise mais ces personnes n’on pas forcément la même résolution d’écran. Je dois donc ada...

clipcursor sous vb 2008
Bonjour, je débute pardonné moi!j'ai un petit prog qui tourne très bien en vb6,mais je voudrais le rajouter a mon projet actuel qui lui est sous vb 2008.Mais voila ça ne marche pas comme ça!!J'obtient trop d'erreurs lors de la mise a niveau,es...



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,39 sec