OVH Cloud OVH Cloud

Type Statement

15 réponses
Avatar
Charles
Bonjour,

Mon programme VB comporte plus de 400 variables et=20
matrices; j'ai regroup=E9 les variables dans des "Type" ce=20
qui simplifie grandement la lecture et l'utilisation du=20
code; J'aimerais en faire de m=EAme pour les matrices mais=20
la capacit=E9 des "Type" semble tr=E8s limit=E9e; Message=20
d'erreur "Compile Error : Fixed or static data can't be=20
larger than 64k". Mes matrices ont une taille de (1 to 7,=20
1 to 500) soit une matrice par "Type"; aucun interet donc;=20
Y-a-t-il un moyen de contourner cette limite de taille?=20
J'ai entendu parler de "Classe"?
Merci

5 réponses

1 2
Avatar
François Picalausa
Hello,

Depuis l'extérieur... Zoury voulait sans doutes dire Public au lieu de
Private:

'***
' à ajouter dans la classe
Public Sub ClearTableau1()
Erase m_dTableau1
End Sub
Public Sub ClearTableau2()
Erase m_dTableau2
End Sub
Public Sub ClearTableau3()
Erase m_dTableau3
End Sub
'***
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Zoury" a écrit dans le message de
news:
Erase cat1.Tableau1?


Si tu veux pouvoir
vider tes tableaux depuis l'exérieur de la classe, créer toi des
méthodes pour y parvenir :

Ex :
'***
' à ajouter dans la classe
Private Sub ClearTableau1()
Erase m_dTableau1
End Sub
...
'***


Avatar
Zoury
> Depuis l'extérieur... Zoury voulait sans doutes dire Public au lieu de
Private:



yep! désolé!
Avatar
Charles
N'ayant pas l'habitude de manier ces objets voici une
autre question :
Une fois que j'ai créé la Private Sub ClearTableau1()
comment je fais pour l'appeler depuis mes sub dans les
modules?
-----Message d'origine-----
Erase cat1.Tableau1?
Il y a une étape que je n'ai pas dû saisir!



yep.. ;O)

cat1.Tableau1 est propriété renvoyant un type Double qui


prend deux
paramètres. Ça ne renvoit pas un tableau (Double()) mais


ça permet de
travailler avec le tableau contenu dans la classe. Si tu


veux pouvoir vidé
tes tableaux depuis l'exérieur de la classe, créer toi


des méthodes pour y
parvenir :

Ex :
'***
' à ajouter dans la classe
Private Sub ClearTableau1()
Erase m_dTableau1
End Sub
Private Sub ClearTableau2()
Erase m_dTableau2
End Sub
Private Sub ClearTableau3()
Erase m_dTableau3
End Sub
'***

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/


.



Avatar
François Picalausa
Hello,

Comme je le disais, emploie Public Sub sinon tu ne pourra pas appeler ces
procédures de l'extérieur. ;-)
Ensuite, tu pourra les appeler comme ceci:
cat1.ClearTableau1

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Charles" a écrit dans le message
de news:504d01c48074$e82ab090$
N'ayant pas l'habitude de manier ces objets voici une
autre question :
Une fois que j'ai créé la Private Sub ClearTableau1()
comment je fais pour l'appeler depuis mes sub dans les
modules?


Avatar
Charles
Génial; J'ai fini par comprendre;
Merci Beaucoup
-----Message d'origine-----
Hello,

Comme je le disais, emploie Public Sub sinon tu ne pourra


pas appeler ces
procédures de l'extérieur. ;-)
Ensuite, tu pourra les appeler comme ceci:
cat1.ClearTableau1

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Charles" a écrit


dans le message
de news:504d01c48074$e82ab090$
N'ayant pas l'habitude de manier ces objets voici une
autre question :
Une fois que j'ai créé la Private Sub ClearTableau1()
comment je fais pour l'appeler depuis mes sub dans les
modules?




.



1 2