cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006
-
5 mars 2005 à 15:37
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 2006
-
6 mars 2005 à 18:12
Bon voilà le code de ma dll (qui se devra être améliorer avec le temps lol mais elle fonctionne pas en attendant :'() :
Public Sub TestTypeFichier(ByVal Extention As String, ByRef TypeFichier As String)
Dim Ext As String
' On met l'extention en majuscule uniquement.
Ext = UCase(Extention)
' On teste l'extention afin de déterminer le type de fichier.
If Ext = ".EXE" Then
TypeFichier = "Fichier Executable"
ElseIf Ext = ".MP1" Then
TypeFichier = "Fichier audio au format MPEG-1"
ElseIf Ext = ".MP2" Then
TypeFichier = "Fichier audio au format MPEG-2"
ElseIf Ext = ".MP3" Then
TypeFichier = "Fichier audio au format MPEG-3"
Else
TypeFichier = "Type de fichier non reconnu"
End If
End Sub
Voilà ce que je met dans mon programme :
Private Declare Sub TestTypeFichier Lib "TypeFichiers.dll" Alias "TestTypeFichierA" (ByVal Extention As String, ByRef TypeFichier As String)
[...]
TestTypeFichier Extention, TypeFichier
Y a pas quelqu'un qui peut me dire d'où vient le problème du point d'entrée introuvable ???? SVP :'(
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 mars 2005 à 17:09
Salut
Les DLL fabriquées en VB6 ne sont pas de réelles DLL, elles ne s'utilisent pas vraiment comme des DLL système :
Simplement, dans le projet dans lequel tu veux l'uitliser :
- Menu Projet, Préférences : Sélectionne ta DLL
- Dans ta forme ou ton module, déclarations :
Public monTest As TestTypeFichier
- Dans le Form_Load ou Sub Main :
Set monTest = New TestTypeFichier
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 mars 2005 à 17:17
D'autre part, j'aurai plutôt fais une fonction qu'une Sub.
En effet, le but est de fournir un seul résultat.
J'aurai fait comme ça :
Public Function TestTypeFichier(ByVal Extention As String) As String
Select Case UCase(Extension)
Case ".EXE" : TestTypeFichier = "Fichier Executable"
Case ".MP1" : TestTypeFichier = "Fichier audio au format MPEG-1"
Case ".MP2" : TestTypeFichier = "Fichier audio au format MPEG-2"
Case ".MP3" : TestTypeFichier = "Fichier audio au format MPEG-3"
Case Else : TestTypeFichier = "Type de fichier non reconnu"
End Select
End Function
et l'utilisation :
Debug.Print TestTypeFichier(".EXE")
... mais créer une DLL pour une simple fonction qui pourrait avantageursement se trouver dans un module ... tu aimes la complication !
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_kEr0
Messages postés17Date d'inscriptionvendredi 2 mai 2003StatutMembreDernière intervention26 avril 2006 5 mars 2005 à 18:05
Ben complication je sais pas... le but est en fait que je dois faire ca pour toutes les extensions donc, c'est mieux une simple dll (du moins fichier externe) que d'utiliser un module interne qui fait que j'vais devoir recompiler l'exe à chaque nouvelle extention que je rajoute.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 6 mars 2005 à 02:17
... hélas, si tu crées une nouvelle version de ta dll, il y a de fortes chances pour que tu soies obligé de recompiler aussi ton code VB pour des raisons de compatibilités de version d'objets insérés.
J'ai toujours été obligé de le faire perso.
J'en suis même arrivé à insérer les sources des classes et des controles utilisateurs tellement ce problème de compatibilité est chiante.
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 20062 6 mars 2005 à 18:10
Et pourquoi ne pas faire une fonction qui va cherche la description dans la base de registre en fonction de l'extension plutot que de tout mettre tel quel ?