Faites vos tlb ! (bibliothèques de type)

Soyez le premier à donner votre avis sur cette source.

Vue 7 401 fois - Téléchargée 947 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
Messages postés
625
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
++
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
Messages postés
1114
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 ?
Messages postés
608
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
Messages postés
608
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
Afficher les 11 commentaires

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.