[ADD-IN] COMPLÉMENT VB6 POUR CALCULER LE TEMPS D'EXÉCUTION DU CODE
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
10 juin 2007 à 01:55
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
4 févr. 2009 à 09:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
te permettra d'effectuer toi même l'appel du compilo
olilej
Messages postés2Date d'inscriptionlundi 31 octobre 2005StatutMembreDernière intervention 4 février 2009 4 févr. 2009 à 00:32
Bonjour Mortalino et merci pour ton code,
Je m'en suis inspiré pour essayer de créer un Add-in permettant de faire des post build events en VB6. le problème est qu'il n'existe pas de EndCompile event dans mon objet VBBuildEvents, aurais-tu une idée ?
Dim oEvents2 as Events2
Set oEvents2 = VBInstance.Events
Set moIDEEvents = oEvents2.VBBuildEvents
Merci
Olivier
waluigii
Messages postés35Date d'inscriptionvendredi 18 mai 2007StatutMembreDernière intervention 5 janvier 2008 14 juin 2007 à 16:10
Slt,
Magnifico mortalino !!!
@++
Bon succès à toutes/tous
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 13 juin 2007 à 02:40
Laisse tomber le comm précédant, je suis mauvais, j'avais pas vu ma variable MyStart dans le Timer :$
Bref modif effectuée et source MAJ.
Merci encore Rey ;)
@++
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 12 juin 2007 à 20:38
Arf, j'obtiens des résultats surprenant..
Bien que l'exécution d'une appli dure plusieurs secondes, le résutat n'excède pas 0.400.
Ce te le fait aussi ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 12 juin 2007 à 20:19
Excellent Renfield, merci je vais creuser ça de suite ;)
Te tiens au courant !
@++
Ps : oui, le msgbox est vraiment génant, mais c'était pour être sur. Là avec les évènements, ce sera mille fois plus pratique ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 11 juin 2007 à 09:02
pas très pratiques, ce MsgBox,
sinon, c'est une bonne idée, à creuser...
on pourrais se passer des menus Start et End, en se branchant aux evenemenements liés à l'execution (EnterRunMode et EnterDesignMode) :
Private WithEvents moIDEEvents As VBBuildEvents
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Dim oEvents2 As Events2
Dim oNewMenu As Office.CommandBarPopup
Set VBInstance = Application
Set PrjHandler = VBInstance.Events.VBProjectsEvents
Set CmpHandler = VBInstance.Events.VBComponentsEvents(Nothing)
Set oEvents2 = VBInstance.Events
Set moIDEEvents = oEvents2.VBBuildEvents
On Error GoTo AddToAddInCommandBarErr
Set oNewMenu = VBInstance.CommandBars.FindControl(Id:=30038)
If Not oNewMenu Is Nothing Then
Set MenuItem = oNewMenu.Controls.Add(msoControlButton, temporary:=True)
With MenuItem
.Caption = "Temps d'execution..."
.BeginGroup = True
End With
Set moRapport = VBInstance.Events.CommandBarEvents(MenuItem)
End If
Exit Sub
AddToAddInCommandBarErr:
MsgBox "erreur dans la création du CommandBar"
End Sub
'Private Sub moMenuEnd_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean)
' EndTimer
'End Sub
'
'Private Sub moMenuStart_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean)
' StartTimer
'End Sub
Private Sub moIDEEvents_EnterDesignMode()
EndTimer
End Sub
Private Sub moIDEEvents_EnterRunMode()
StartTimer
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 10 juin 2007 à 03:54
Salut WaLuigii et merci ;)
Pas grand chose, je voulais absolument faire un Add-in VB pour apprendre, mais les plus intéressant ont été fait, donc j'ai pris ce qu'il restait ;)
Pis (bien que ça ne m'arrive pas souvent) il me fallait quelque chose d'intégré à VB pour calculer ça, sans mettre moi même un Timer dans le code que j'exécute.
Par la suite, je vais essayer de l'améliorer, à savoir, générer divers rapport avec plus d'info (genre charge CPU, et, un peu plus complexe, et voir si c'est faisable, décomposer le temps d'exécution des procédures lancés, avec leur nom)
Merci en tout cas pour tes encouragements. :p
@ bientôt,
mortalino
waluigii
Messages postés35Date d'inscriptionvendredi 18 mai 2007StatutMembreDernière intervention 5 janvier 2008 10 juin 2007 à 03:44
Slt,
Très intéressant tout ça! Qu'est-ce qui t'a incité pour mettre le pied dans ce projet?
Bravo!
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 10 juin 2007 à 01:55
Ah et pour l'utiliser, il faut lancer le projet, créer la dll, et fermer.
Ensuite, tous les projets VB lancés après ça, posséderont la complément.
4 févr. 2009 à 09:01
http://www.vbfrance.com/codes/UTILISER-OBJETS-EXTERNE-DANS-VOS-PROJETS-ADDIN_24092.aspx
te permettra d'effectuer toi même l'appel du compilo
4 févr. 2009 à 00:32
Je m'en suis inspiré pour essayer de créer un Add-in permettant de faire des post build events en VB6. le problème est qu'il n'existe pas de EndCompile event dans mon objet VBBuildEvents, aurais-tu une idée ?
Dim oEvents2 as Events2
Set oEvents2 = VBInstance.Events
Set moIDEEvents = oEvents2.VBBuildEvents
Merci
Olivier
14 juin 2007 à 16:10
Magnifico mortalino !!!
@++
Bon succès à toutes/tous
13 juin 2007 à 02:40
Bref modif effectuée et source MAJ.
Merci encore Rey ;)
@++
12 juin 2007 à 20:38
Bien que l'exécution d'une appli dure plusieurs secondes, le résutat n'excède pas 0.400.
Ce te le fait aussi ?
12 juin 2007 à 20:19
Te tiens au courant !
@++
Ps : oui, le msgbox est vraiment génant, mais c'était pour être sur. Là avec les évènements, ce sera mille fois plus pratique ;)
11 juin 2007 à 09:02
sinon, c'est une bonne idée, à creuser...
on pourrais se passer des menus Start et End, en se branchant aux evenemenements liés à l'execution (EnterRunMode et EnterDesignMode) :
Private WithEvents moIDEEvents As VBBuildEvents
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Dim oEvents2 As Events2
Dim oNewMenu As Office.CommandBarPopup
Set VBInstance = Application
Set PrjHandler = VBInstance.Events.VBProjectsEvents
Set CmpHandler = VBInstance.Events.VBComponentsEvents(Nothing)
Set oEvents2 = VBInstance.Events
Set moIDEEvents = oEvents2.VBBuildEvents
On Error GoTo AddToAddInCommandBarErr
Set oNewMenu = VBInstance.CommandBars.FindControl(Id:=30038)
If Not oNewMenu Is Nothing Then
Set MenuItem = oNewMenu.Controls.Add(msoControlButton, temporary:=True)
With MenuItem
.Caption = "Temps d'execution..."
.BeginGroup = True
End With
Set moRapport = VBInstance.Events.CommandBarEvents(MenuItem)
End If
Exit Sub
AddToAddInCommandBarErr:
MsgBox "erreur dans la création du CommandBar"
End Sub
'Private Sub moMenuEnd_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean)
' EndTimer
'End Sub
'
'Private Sub moMenuStart_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean)
' StartTimer
'End Sub
Private Sub moIDEEvents_EnterDesignMode()
EndTimer
End Sub
Private Sub moIDEEvents_EnterRunMode()
StartTimer
End Sub
10 juin 2007 à 03:54
Pas grand chose, je voulais absolument faire un Add-in VB pour apprendre, mais les plus intéressant ont été fait, donc j'ai pris ce qu'il restait ;)
Pis (bien que ça ne m'arrive pas souvent) il me fallait quelque chose d'intégré à VB pour calculer ça, sans mettre moi même un Timer dans le code que j'exécute.
Par la suite, je vais essayer de l'améliorer, à savoir, générer divers rapport avec plus d'info (genre charge CPU, et, un peu plus complexe, et voir si c'est faisable, décomposer le temps d'exécution des procédures lancés, avec leur nom)
Merci en tout cas pour tes encouragements. :p
@ bientôt,
mortalino
10 juin 2007 à 03:44
Très intéressant tout ça! Qu'est-ce qui t'a incité pour mettre le pied dans ce projet?
Bravo!
10 juin 2007 à 01:55
Ensuite, tous les projets VB lancés après ça, posséderont la complément.
@++