Utilisation DLL créé

allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 - 27 août 2006 à 11:50
werdDomain Messages postés 60 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 1 novembre 2011 - 7 août 2008 à 22:51
Bonjour,

Je viens de créer une DLL (bibliothéque de classes / API) sous Visual Basic 2005 Express Edition mais je n'arrive pas à l'utiliser ...

J'ai bien ajouté la référence de la DLL dans un autre projet.

J'essai d'utiliser la "Function" se nommant "executeonetime",
j'écris donc dans mon code : LiveKillAPI.GestionErreur.Erreurs ("executeontime" se trouve dans LiveKillAPI.gestionerreur.erreurs)

mais après comment avoir ma fonction ?

PS : Voici l'organisation de la classe :

NameSpace GestionErreur
   Public Class Erreurs
      Public Function executeonetime() as boolean
         ' [ligne de code]
      End function
   end class
end namespace

voilà ...
en résumé, je cherche a utilisé une DLL créé en Visual Basic 2005 dans un projet (lui aussi en Visual basic 2005)

@++ merci d'avance à tous

1 réponse

werdDomain Messages postés 60 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 1 novembre 2011
7 août 2008 à 22:51
dans le project, tu doit ajouter la reference au dll(clique droit sur ton project, ajouter une reference
si tu a une "solution" (.sln) et que le project avec lequelle tu a crée le dll est dans la "solution" vas dans l'onglet "Project"(dans ajouter une reference) et choisi ton project, sinon vas dans "Parcourir" et ajoute ton dll.

dans le project que tu veut utiliser le dll (.net), ajoute sa au debut de ton project
Imports Namespace.class

si ton dll n'est pas .net, tu doit l'importer en api ... donc tu doit "Registrer" ton dll avec la commande dos :
regsvr32.exe "C:\dllpath\dll.dll"

ensuite tu peut l'utiliser comme une api
exemple:

Private
Declare
Function SetWindowPos
Lib
"user32" (
ByVal hwnd
As
Integer,
ByVal hWndInsertAfter
As
Integer,
ByVal x
As
Integer,
ByVal y
As
Integer,
ByVal cx
As
Integer,
ByVal cy
As
Integer,
ByVal wFlags
As
Integer)
As
Integer

une petite façon simple de registrer un dll si il est introuvable:

Try

Dim o
As
Object = System.Reflection.Assembly.LoadWithPartialName(
"NAMESPACE")

Catch ex
As Exception

Dim p
As
New Diagnostics.Process

Dim exe
As
String = Application.StartupPath &
"\Installer.exe" 'si besoin

TryShell(exe, AppWinStyle.NormalFocus,

True)

Catch ea
As Exception

End
TryThreading.Thread.Sleep(500)

'Ici on registre le controlep.StartInfo.FileName "regsvr32.exe"p.StartInfo.Arguments Chr(34) &

"c:\dllpath\Dll.dll" & Chr(34)p.StartInfo.UseShellExecute =

Truep.Start()

Threading.Thread.Sleep(1000)

Application.Restart() 'car l'aplication n'as pas loader le dll

Exit
Sub

End
Try
apres registration, on pouras utiliser le dll comme un object...
Namespace.Class ou conne une API

jespere que jai repondu correctement a ta question...
0
Rejoignez-nous