Accueil > Forum > > > > création du Dll avec vb
création du Dll avec vb
vendredi 30 mars 2007 à 19:55:42 |
création du Dll avec vb

machmacha
|
salut tous, j'ai entendu tres souvent sur les fichier Dll et son importance dans la programmation soit en Langage C++ ou Vb.net ou autre, mais je ne c'est pas vraiment son role, et comment les creer et quoi definir dedans :roll: . quelqu'un peut m'aider ? merci d'avance
|
|
vendredi 30 mars 2007 à 20:36:17 |
Re : création du Dll avec vb
|
vendredi 30 mars 2007 à 23:15:14 |
Re : création du Dll avec vb

mortalino
|
Réponse acceptée !
salut et google, ne trouve rien ? Dynamic Link Library ! Pour infos, en vb6, les dlls sont fait à partier de Module de classe. C'est (en gros) un objet, tu crées une instance de celui-ci, et tu as accés à ses propriétés, méthodes. Les méthodes public de la classe seront donc accessibles, quand ce sera compilé par vb en tant que Dll, par n'importe quel programme, si celui instancie ta dll. (ex simple, User32 est une dll, et tu as accès a tout un tas de fonctions, style AnimateWindow, EnableWindow, etc..) Pour des exemples, télécharge des sources avec des Modules de classes. Ex de ce que tu peux y trouver avec une de mes classes (sur les actions de la bourse) :  Option Explicit
Private mcolPlacements As New Collection
Property Get LastValueAction() As String Dim NewValue As New clsDatas If sContenu = vbNullString Then LastValueAction = CotationsValues(Me.CotationsNumber) Else LastValueAction = NewValue.ProcessingDatas(sContenu) Set NewValue = Nothing End If End Property
Public Sub Delete(ByVal Index As Variant) mcolPlacements.Remove Index End Sub
Property Get NameAction() As String NameAction = Config.ReadIniString("ACTION", "Nom") End Property
Property Let NameAction(new_mNameAction As
String) Call Config.WriteIni("ACTION", "Nom", new_mNameAction) End Property
Property Get CotationsNumber() As Long CotationsNumber = UBound(CotationsValues) - 1 End Property
' Moyenne de
l'action, par rapport aux valeurs enregistrées localement ' (ne reflêtera pas forcémment la réalité, si le suivi est pris en
cours de route) Property Get AverageAction() As Double Dim i As Integer Dim temp As Double: temp = 0 For i = LBound(CotationsValues) To Me.CotationsNumber temp = temp + MyCDbl(CotationsValues(i)) Next i AverageAction = Format(temp / (UBound(CotationsValues) + 1), "#0.00") End Property
' pourcentage de l'avant dernière donnée à la
dernière Property Get LastValueEvolutionInPercent() As
String If Me.CotationsNumber < 2 Then LastValueEvolutionInPercent = "ND" Else LastValueEvolutionInPercent = CStr(Percent(MyCDbl(CotationsValues(Me.CotationsNumber - 1)),
MyCDbl(CotationsValues(Me.CotationsNumber)))) End If End Property
' pourcentage de la
1ere à la dernière donnée Property Get FirstValueEvolutionInPercent() As
String If Me.CotationsNumber < 2 Then FirstValueEvolutionInPercent = "ND" Else FirstValueEvolutionInPercent = CStr(Percent(MyCDbl(CotationsValues(LBound(CotationsValues) + 1)),
MyCDbl(CotationsValues(Me.CotationsNumber)))) End If End Property
' date de
téléchargement de la dernière action Property Get LastDate() As String LastDate = CotationsDates(Me.CotationsNumber) End Property
' Cotation de
l'action la plus Basse Property Get LowerAction() As String Dim i As Integer LowerAction = CotationsValues(LBound(CotationsValues) + 1) For i = LBound(CotationsValues) + 1 To Me.CotationsNumber If Val(CotationsValues(i)) < Val(LowerAction) Then LowerAction =
CotationsValues(i) Next i End Property
' Cotation de l'action la plus Haute Property Get HigherAction() As String Dim i As Integer HigherAction = CotationsValues(LBound(CotationsValues)) For i = LBound(CotationsValues) To Me.CotationsNumber If Val(CotationsValues(i)) > Val(HigherAction) Then HigherAction =
CotationsValues(i) Next i End Property
Public Function Add(ByVal Name As String, ByVal PartNumber As String) As clsPlacement Dim NewPlacement As New clsPlacement With NewPlacement .ID = Name .NamePlacement = Name .PlacementValue = PartNumber mcolPlacements.Add NewPlacement, .ID End With Set Add = NewPlacement End Function
Public Function Count() As Long Count = mcolPlacements.Count End Function
Public Function Item(ByVal Index As Variant) As clsPlacement Set Item = mcolPlacements.Item(Index) End Function
' NewEnum doit
renvoyer l'interface IUnknown de ' l'énumérateur
d'une collection.
' dans le Menu Outils,
Attibut de procédure, il faut mettre dans les propriétés ' avancées de cette procédure lID à -4 (moins 4) et cocher
~Masquer ce membre~ Public Function NewEnum() As IUnknown Attribute NewEnum.VB_UserMemId = -4 Attribute NewEnum.VB_MemberFlags = "40" Set NewEnum = mcolPlacements.[_NewEnum] End Function

~ Mortalino ~
Colorisation automatique@++
--Mortalino-- Le mystérieux chevalier, "Provençal, le Gaulois"
|
|
samedi 31 mars 2007 à 00:24:38 |
Re : création du Dll avec vb
|
samedi 31 mars 2007 à 07:45:46 |
Re : création du Dll avec vb
|
samedi 31 mars 2007 à 08:14:13 |
Re : création du Dll avec vb

DARKSIDIOUS
|
mortalino >> tu confond dll et activeX apparement : une dll est une bibliothèque de fonction, comme l'est user32, elle est bien souvent codée en C, avec des définitions d'export des fonctions. Tu les appelle non pas en créant une instance de classe, mais en les déclarant dans ton code vb (la fameuse instruction Declare) : toutes les API Windows sont codées dans de "vraies" dll. Les dl activeX, bien que leur extension soit en .dll ne sont pas de véritable dll, ce serait plutôt des bibliothèques d'objets, elles devraient avoir l'extension ocx, ca éviterait les embrouilles entre les termes ! Elles nécéssitent d'être enregistrées dans le registre afin que le système puisse les retrouver, et connaître les objets qu'elles hébergent. Pour utiliser une de leur fonction, il faut créer une instance de la classe, ce qui rend les choses plus compliquées (légérement), et surtout, il y a tout un protocole de communication qui se met en place entre le prog et l'ocx, ce qui rend les chose bien moins rapide qu'un appel à une fonction d'une vraie dll ! Elle sont bien souvent codées en VB car VB apporte la rapidité de développement par rapport au C++ (c'est fastidieux de faire un ocx en C++), et surtout, un activeX est bridé non plus par le langage (enfin, très peu) mais surtout par le protocole de communication entre le programme et l'activeX (il me semble que c'est COM, non ?). Voilou. En gros, une dll ca permet d'avoir des bouts de code réutilisable entre plusieurs projets, ce qui augmente la rapidité de développement (une fois qu'un bout de code est testé et qu'on est sûr qu'il marche, on le mets dans une dll, et on le rappelle dans les autres projets), ca permet d'alleger un programme (par exemple, tout mes projets professionnels sont constitué d'un tout petit exe de 32 Ko qui ne fait des appels qu'à des dll, en moyenne une quinzaine => chargement très rapide, occupation mémoire moindre, et surtout, mise à jour du programme simplifiée : je ne mets à jour que les dll qui en ont besoin !). Enfin bref, je pense personnellement qu'une dll ca apporte beaucoup si on doit travailler sur un gros projet ou qu'on doit faire plusieurs projets qui doivent avoir des parties en commun.
|
|
samedi 31 mars 2007 à 21:43:53 |
Re : création du Dll avec vb

mortalino
|
Voilà qui est clair, merci pour cette précision DKS  @++
--Mortalino-- Le mystérieux chevalier, "Provençal, le Gaulois"
|
|
jeudi 12 avril 2007 à 18:38:36 |
Re : création du Dll avec vb

ibif
|
bonjour, je voudrais savoir si l'on pouvait integrer une dll compilée sous delphi dans visual studio 2005 merci pour votre reponse
|
|
lundi 23 février 2009 à 17:30:47 |
Re : création du Dll avec vb

andrebernard
|
Bonjour Darksidious Je voudrais savoir quel seraient les VB capables de creer des vrais DLL comme le C Je sais déja que le VB6 n'en est pas capable, j'avais lu qu'un logiciel pouvait modifier le linker ou un truc comme ça, mais je n'en ai pas trouvé plus.
J'ai aussi VB 2003 PRO, en est t'il capable ??? Ou sinon lequel 2005, 2008 version express, pro, standard.
Et surtout si quelqu'un aurait déja créé ce genre de DLL standard avec un VB Car je lis tout et son contraire sur internet et je suis vraiment perdu.
J'ai acheté le VB2003 PRO pour faire des DLL, et j'apprend que l'on ne peut creer que des bibliotheques de classes et non des DLL, j'suis dégouté
Merci de m'eclairer de vos lumieres Bonne journée
|
|
lundi 23 février 2009 à 17:37:39 |
Re : création du Dll avec vb

DARKSIDIOUS
|
Salut, VB 2003 ne gère pas le langage VB, mais le langage VB.NET : rien à voir !
Déjà qu'avec VB6, on ne pouvait pas faire de "vraies" dll (entends par là des bibliothèques de fonctions), alors je te laisse imaginer avec VB.NET qui est encore plus orienté objet...
Non à ma connaissance, il n'est pas possible de faire de "vraies" dll en VB, il faut passer par du C (pas extrêmement compliqué, et un peu plus rapide que du VB6 compilé). Cependant, comme tu peux le voir, cette discussion date de presque 2 ans, et je suis passé à bien autre chose depuis : je fais encore du VB6, mais je fais surtout du JAVA, qui n'a rien à voir avec VB6, et je m'éclatte bien plus avec JAVA qu'avec ce langage made in cro$oft qui a eu un temps de gloire avant que cro$oft ait jugé que pour ce faire plus de pognon encore il fallait sortir une version incompatible afin qu'un max d'entreprise rachète un Visual Studio... pas bête hein ? Et bien moi en tout cas, ca m'a dégoûté du langage VB, et surtout, de microsoft ! ______________________________________ DarK Sidious
|
|
Cette discussion est classée dans : vb, dll, création
Répondre à ce message
Sujets en rapport avec ce message
Création d'une dll en VB .NET [ par chris500 ]
Est il possible de générer une Dll à partir de VB .NET ?Si oui, comment ? (attention, je suis THE débutant en VB)=> je ne trouve rien dans la doc util
[VB.NET] HELP Création & utilisation DLL [ par GaD60 ]
Salut à tous Depuis ce matin, j'tourne en rond pour arriver à faire une dll. J'ai fait plusieurs appli qui travaillent avec une base de données. J
Pilotage d'un appareil via un GPIB en VB.NET [ par cerisiera ]
BonjourJe suis en train d'écrire un logiciel pour piloter un appareil via une connection GPIB-IEEE. Pour cela j'utilise la dll GPIB-32.dll.Lors de l'e
Problème de déploiment lié à un activx [ par guepe ]
Bonjour à tous,J'ai codé un projet VB 6 faisant appel à une dll (roksock.dll) pour une apli client -serveur. Dans mon projet, j'ai coché la référence,
SQL Server DLL (VB) ASP [ par nickadele ]
Bonjour tt le monde, Nous sommes oqp de faire une migration de plate forme serveur dont voici les détails. Site web intranet ASP, DLL en VB pour l'acc
dll en vb.net^pour crystal report - urgent [ par jacky1 ]
Bonjour à tous,Je débute en vb.net et c'est la galère.Si qqn sait,
Librairie winpcap (vbpcap.dll) [ par Le cancre ]
Bonjour à tous,j'en ai marre, serieux!!apres mille et une tentative, je n'arrive toujours pas à installer correctement la fameuse dll de winpcap(vbpca
pb retour de paramètres depuis ATL ActiveX [ par busagp ]
Bonjour, voici un petit (quoi que ?) problème que je rencontre depuis mon passage à VB.NET.Mon appli qui était en VB6 fait des appels à des fonctions
Comment decharger une DLL ??? [ par mouse74 ]
Bonjour,J'ai un gros problème. Voilà, mon programme VB fait appel à une dll fortran, tout fonctionne bien sauf que si je lance deux calculs de suite,
Création de BDD access via code VB [ par morpheus81fr ]
Bonjour, je suis newbie en VB. Je voudrais créer une base de données de type access mais uniquement par du code VB. voici mon code : Im
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|