Faites vos tlb ! (bibliothèques de type)

Soyez le premier à donner votre avis sur cette source.

Vue 7 044 fois - Téléchargée 902 fois

Description

Ceux qui ont déja regardé mes sources s'en seront sans doute aperçu, j'adore les API !!

Vous connaissez les .TLB ??? les bibliotheques de types, les fichiers qu'on ajoutes dans le menu Projet > References....
Non ?? Et bien c'est du code C, compile, qui contient des declarations d'API, de constantes, et de Types....

on peux par la suite s'en servir sous Vb, on retrouve ainsi toutes ces API, sans les declarer !!!
Si vraiment vous le souhaitez, vous pouvez cependant le faire (les declarer), par exemple pour changer de parametres...., votre declaration sera utilisée..

une fois compilé votre programme, vous n'aurez pas a fournir le .Tlb, bien qu'il reste necessaire a toute exportation de votre code source...

Quand vous utilisez des 'Declare' classiques, Vb ajoute a la compilation le code de chargement de la Dll, et la recherche du point d'entrée, pour la lier a la fonction dans la Dll. Si vous utilisez un .Tlb, et bien, les fonctions sont deja liées au point d'entrée en question.... Donc gain de performance, en plus d'un facilité d'utilisation....

Source / Exemple :


' COTE CODE, en fait il s'agit de lire des declarations en VB (Comme le fichier texte de la visionneuse d'API Microsoft.... et de generer le code , pour les fichiers ODL, pret a être compilé.

' ce n'est qu'un outil que j'ai créee et que je met a votre disposition, j'ai decide de separer la sortie par Dll (dans des modules), et de mettre en commentaire chaque declaration, enfin, je prefere controler au cas par cas !!!

' j'en profite alors pour verifier les type, et lier les enumerations aux arguments des differentes fonctions, si besoin est.... tout n'est pas completement maché !!

Conclusion :


J'ai mis l'exemple que je complete quand j'ai le temps

a oui, un point technique, ce source utilise les expressions régulières.

Il vous faut 'Microsoft VbScript Regular Expressions 5.5' (normallement ca devrai aller...)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

draluorg
Messages postés
627
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010
-
Salut,

J'ai une ptite question sur les tlb
Peut on déclarer des structures (Type) ?
Si oui peux tu me donner un petit exemple genre pour:
Private Type MaStructure
MonLong as long
MonString as string
MonByteArray() as Byte
End Type

Si non est-ce que c'est plus rapide de declarer un Api utilisant une structure dans une tlb en remplacant la structure pas un long et faire un VarPtr(MaStructure) ou bien de declarer l'Api normalement dans vb et passer la structure directement a l'api?

Merci d'avance
++
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
cs_azerty25
Messages postés
1115
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
6 mai 2007
-
J'ai un probleme c'est qu'il ne trouve pas VBS Script Regular Expressions 5.5 (vbscript.dll\3) (référence), alors que j'ai bien changé la lettre le lecteur dans le fichier projet (ligne Dim Declare_REG As New RegExp, Params_REG As New RegExp, Types_REG As New RegExp, TypesIt_REG As New RegExp). Sinon, dans ma liste de références possibles, j'ai des refs qui peuvent ressembler comme VBS Script Regular Expressions (vbscript.dll\2) mais c'est ensuite la ligne Declare_REG.MultiLine = True qui pose probleme. Ceci ce passe au moment de la compilation, j'ai Windows 2000, VB6, aurait tu une solution ?
Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
Ben, c'est sur que ca va bien...

Si je veux rajouter des API, comment je peux faire ?

Comme par ex :

Declare Function midiOutShortMsg Lib "winmm.dll"
(ByVal hMidiOut As Long,
ByVal dwMsg As Long) As Long


Merci coop
A+
Afyn
Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
Merci je vais jeter un oeil.
Le prog d'EB est il vraiment différent du tiens (vu qu'il s'en est inspiré)
Plutot que de faire un gors Tlb, pourquoi ne pas faire des Tlb par DLL
Comme :
User32.Tlb
Kernel32.tlb
etc...
En fait je fais un petit programme de musique, qui commence à tourner bien, mais j'essaye d'optimiser mes routines, et comme je suis pas trés fort en asm, j'ai du mal à vérifier si telle façon de faire apporte un gain au niveau des cycle ou du code en asm.

C'est pas facile de vérifier l'optimisation, car mesurer le temps entre deux points du code n'est pas toujours exact.
J'ai besoin également d'accelerer la vitesse d'affichage des Ctl
Y a t-il une méthode ?
En tous cas merci pour tout.

A+
Afyn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.