Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ActiveX DLL et types de variables

5 réponses
Avatar
Driss HANIB
Bonjour à tous

Pour partager un certain de nombre de procédures d'accès à une BDD communes
(Access/DAO), j'envisage de créer un activeX DLL.
Seulement j'ai défini, pour une facilité de lecture, un certain nombre de
type de Variables que j'utilise pour interroger via ces procédures (et
focntions) et pour afficher.
Comme ces variables sont utiles seulement dans ce cadre, je voudrai intégrer
les types dans la DLL.
Je pensais créer des type de type Public dans un module dans la DLL
Seront-ils accessibles après référencement de la DLL, comme par exemple le
type Database est accessible après référencement de DAO ?
Ou sinon comment faire ?

Merci

Driss

5 réponses

Avatar
parci
On 10 fév, 16:31, "Driss HANIB" wrote:

Je pensais créer des type de type Public dans un module dans la DLL
Seront-ils accessibles après référencement de la DLL, comme par exe mple le
type Database est accessible après référencement de DAO ?
Ou sinon comment faire ?



Database en l'occurence est une classe publique, pas un type.
Tu ne peux pas utiliser de type visible depuis l'extérieur, donc
classe (regarde la propriété Instancing pour définir qui peut créer
l'objet)
Avatar
Driss HANIB
Merci Parci et bonjour à tous

donc a priori pas de type visible ?
il faut créer plutot des classes qui vont simuler des types..? Peut-on créer
des tableaux de classes ?
Ou sont-ce des collections ? (pour ma part je préfèrerai des tableaux)..

Merci

Driss

a écrit dans le message de news:

On 10 fév, 16:31, "Driss HANIB" wrote:

Je pensais créer des type de type Public dans un module dans la DLL
Seront-ils accessibles après référencement de la DLL, comme par exemple le
type Database est accessible après référencement de DAO ?
Ou sinon comment faire ?



Database en l'occurence est une classe publique, pas un type.
Tu ne peux pas utiliser de type visible depuis l'extérieur, donc
classe (regarde la propriété Instancing pour définir qui peut créer
l'objet)
Avatar
parci
On 11 fév, 10:18, "Driss HANIB" wrote:
Merci Parci et bonjour à tous

donc a priori pas de type visible ?
il faut créer plutot des classes qui vont simuler des types..? Peut-on créer
des tableaux de classes ?
Ou sont-ce des collections ? (pour ma part je préfèrerai des tableaux )..



Regarde l'exemple d'une Listview : ListItem est une classe, ListItems
une collection. Un tableau ne peut être visible depuis l'extérieur.
Avatar
parci
a écrit :
On 11 fév, 10:18, "Driss HANIB" wrote:
Merci Parci et bonjour à tous

donc a priori pas de type visible ?
il faut créer plutot des classes qui vont simuler des types..? Peut-on créer
des tableaux de classes ?
Ou sont-ce des collections ? (pour ma part je préfèrerai des tableaux)..



Regarde l'exemple d'une Listview : ListItem est une classe, ListItems
une collection. Un tableau ne peut être visible depuis l'extérieur.



Je précise toujours avec l'exemple d'une listview : ListItems doit être
une classe et il est logique qu'elle implémente les fonctions
habituelles d'une collection (obtenir un élément par son index ou sa
clé, supprimer tous les éléments ...). Mais en interne, le stockage des
éléments peut se faire dans un tableau de classes. C'est un peu ce que
ce fait vbaccelerator (au moins pour les colonnes)
http://www.vbaccelerator.com/home/VB/Code/Controls/ListView/article.asp
avec l'argument justifié que les collections VB sont trop peu
performantes comparées aux tableaux. Mais ça oblige à gérer une
structure de données en plus de celle maintenue par le contrôle. Si on
veut des classes sans les inconvénients des collections VB, on peut
utiliser COM (c'est plus compliqué mais plus beau et plus efficace) :
http://www.mvps.org/emorcillo/download/vb6/ownerdrawlist.zip

Bref, collection c'est l'interface qui doit être vu de l'extérieur mais
en interne, il y a toutes sortes d'implémentations possibles.
Avatar
Driss HANIB
merci parci pour tes réponses,

je vais essayer de "digérer" tout cela et voir comment je vais organiser
cela.
Driss
"parci" a écrit dans le message de news:
%
a écrit :
On 11 fév, 10:18, "Driss HANIB" wrote:
Merci Parci et bonjour à tous

donc a priori pas de type visible ?
il faut créer plutot des classes qui vont simuler des types..? Peut-on
créer
des tableaux de classes ?
Ou sont-ce des collections ? (pour ma part je préfèrerai des tableaux)..



Regarde l'exemple d'une Listview : ListItem est une classe, ListItems
une collection. Un tableau ne peut être visible depuis l'extérieur.



Je précise toujours avec l'exemple d'une listview : ListItems doit être
une classe et il est logique qu'elle implémente les fonctions habituelles
d'une collection (obtenir un élément par son index ou sa clé, supprimer
tous les éléments ...). Mais en interne, le stockage des éléments peut se
faire dans un tableau de classes. C'est un peu ce que ce fait
vbaccelerator (au moins pour les colonnes)
http://www.vbaccelerator.com/home/VB/Code/Controls/ListView/article.asp
avec l'argument justifié que les collections VB sont trop peu performantes
comparées aux tableaux. Mais ça oblige à gérer une structure de données en
plus de celle maintenue par le contrôle. Si on veut des classes sans les
inconvénients des collections VB, on peut utiliser COM (c'est plus
compliqué mais plus beau et plus efficace) :
http://www.mvps.org/emorcillo/download/vb6/ownerdrawlist.zip

Bref, collection c'est l'interface qui doit être vu de l'extérieur mais en
interne, il y a toutes sortes d'implémentations possibles.