OVH Cloud OVH Cloud

Durée d'une variable

2 réponses
Avatar
Mona_lisa
Bonjour, je fais des Macros a l'aide de VBA dans Autocad. Pour effectuer mes
calculs et dessins j'utilise des variables en début de Private Sub les
appelants ''Dim My_Variable as Double'' et d'autre en dessous d'Option
Explicit avec '' Public My_Variable01 as Double '' pour quelle soit visible
entre mes fonctions du même module.

Quand je ferme mon module et retourne a Autocad est-ce que mes variables
libère la mémoire du système ou si je dois faire quelque chose d'autre pour
libérer le tout.

Exemple: je fait un développement d'une élipse avec 300 points calculés et
une ligne Spline qui relie cest points, sur mon ordi a la maison ça
fonctionne bien (J'ai une machine up-to-date avec 1 Gig de mémoire) mais ou
je travaille la machine est désuette avec beaucoup moin de mémoire, pour
résultat elle le dessine mais quand j'essaie de mesurer une distance entre
deux points tout gèle et je dois redémarrer l'application en perdant tout le
travaille pas sauvegardé.

Option Explicit
Public line As Single
Public Num As Single
Public Pi, x, x1, y, y1, Dia1, Deg, Ori1, e, f, g, h, i, j, k, l, m As
Double


Public Function Draw()
Dim currLayer As AcadLayer
Dim Axe As AcadLayer
Dim Shell As AcadLayer
Dim lineObj As AcadLine
Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double
Dim Axe_Line As AcadAcCmColor
Set Axe_Line = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
Dim Shell_Plate As AcadAcCmColor
Set Shell_Plate = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
Call Axe_Line.SetRGB(0, 250, 0) 'Détermine la couleur verte au
layer Axe_Line
Call Shell_Plate.SetRGB(250, 250, 250) 'Détermine la couleur Blanc au
layer Shell_Plate
Dim MTextObj As AcadMText
Dim corner(0 To 2) As Double
Dim width As Double
Dim text As String
Dim LenghX(0 To 20) As Double
Dim LenghX1(0 To 20) As Double
Dim HeighY(0 To 20) As Double
Dim Circ(0 To 20) As Double
Dim dia(0 To 20) As Double
Dim thk(0 To 20) As Double
Dim Ori(0 To 20) As Double



Merci

2 réponses

Avatar
LE TROLL
Bonjour,

Concernant VB, mais ça marche sans doute pareil ici, une variable, pour
la libérer en sortant:

unload formX ' libération de la mémoire
unload formY...
end ' sortie


--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur MES ROMANS édités
Le serpent
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Le Gaulois
http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Mona_lisa" a écrit dans le message de news:
457c2364$0$20446$
Bonjour, je fais des Macros a l'aide de VBA dans Autocad. Pour effectuer
mes calculs et dessins j'utilise des variables en début de Private Sub
les appelants ''Dim My_Variable as Double'' et d'autre en dessous
d'Option Explicit avec '' Public My_Variable01 as Double '' pour quelle
soit visible entre mes fonctions du même module.

Quand je ferme mon module et retourne a Autocad est-ce que mes variables
libère la mémoire du système ou si je dois faire quelque chose d'autre
pour libérer le tout.

Exemple: je fait un développement d'une élipse avec 300 points calculés
et une ligne Spline qui relie cest points, sur mon ordi a la maison ça
fonctionne bien (J'ai une machine up-to-date avec 1 Gig de mémoire) mais
ou je travaille la machine est désuette avec beaucoup moin de mémoire,
pour résultat elle le dessine mais quand j'essaie de mesurer une distance
entre deux points tout gèle et je dois redémarrer l'application en perdant
tout le travaille pas sauvegardé.

Option Explicit
Public line As Single
Public Num As Single
Public Pi, x, x1, y, y1, Dia1, Deg, Ori1, e, f, g, h, i, j, k, l, m As
Double


Public Function Draw()
Dim currLayer As AcadLayer
Dim Axe As AcadLayer
Dim Shell As AcadLayer
Dim lineObj As AcadLine
Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double
Dim Axe_Line As AcadAcCmColor
Set Axe_Line = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
Dim Shell_Plate As AcadAcCmColor
Set Shell_Plate =
AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
Call Axe_Line.SetRGB(0, 250, 0) 'Détermine la couleur verte au
layer Axe_Line
Call Shell_Plate.SetRGB(250, 250, 250) 'Détermine la couleur Blanc au
layer Shell_Plate
Dim MTextObj As AcadMText
Dim corner(0 To 2) As Double
Dim width As Double
Dim text As String
Dim LenghX(0 To 20) As Double
Dim LenghX1(0 To 20) As Double
Dim HeighY(0 To 20) As Double
Dim Circ(0 To 20) As Double
Dim dia(0 To 20) As Double
Dim thk(0 To 20) As Double
Dim Ori(0 To 20) As Double



Merci



Avatar
Mona_lisa
Ok Merci


"LE TROLL" <le a écrit dans le message de news:

Bonjour,

Concernant VB, mais ça marche sans doute pareil ici, une variable, pour
la libérer en sortant:

unload formX ' libération de la mémoire
unload formY...
end ' sortie


--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur MES ROMANS édités
Le serpent
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Le Gaulois
http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Mona_lisa" a écrit dans le message de news:
457c2364$0$20446$
Bonjour, je fais des Macros a l'aide de VBA dans Autocad. Pour effectuer
mes calculs et dessins j'utilise des variables en début de Private Sub
les appelants ''Dim My_Variable as Double'' et d'autre en dessous
d'Option Explicit avec '' Public My_Variable01 as Double '' pour quelle
soit visible entre mes fonctions du même module.

Quand je ferme mon module et retourne a Autocad est-ce que mes
variables libère la mémoire du système ou si je dois faire quelque chose
d'autre pour libérer le tout.

Exemple: je fait un développement d'une élipse avec 300 points calculés
et une ligne Spline qui relie cest points, sur mon ordi a la maison ça
fonctionne bien (J'ai une machine up-to-date avec 1 Gig de mémoire) mais
ou je travaille la machine est désuette avec beaucoup moin de mémoire,
pour résultat elle le dessine mais quand j'essaie de mesurer une distance
entre deux points tout gèle et je dois redémarrer l'application en
perdant tout le travaille pas sauvegardé.

Option Explicit
Public line As Single
Public Num As Single
Public Pi, x, x1, y, y1, Dia1, Deg, Ori1, e, f, g, h, i, j, k, l, m As
Double


Public Function Draw()
Dim currLayer As AcadLayer
Dim Axe As AcadLayer
Dim Shell As AcadLayer
Dim lineObj As AcadLine
Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double
Dim Axe_Line As AcadAcCmColor
Set Axe_Line = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
Dim Shell_Plate As AcadAcCmColor
Set Shell_Plate =
AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16")
Call Axe_Line.SetRGB(0, 250, 0) 'Détermine la couleur verte au
layer Axe_Line
Call Shell_Plate.SetRGB(250, 250, 250) 'Détermine la couleur Blanc au
layer Shell_Plate
Dim MTextObj As AcadMText
Dim corner(0 To 2) As Double
Dim width As Double
Dim text As String
Dim LenghX(0 To 20) As Double
Dim LenghX1(0 To 20) As Double
Dim HeighY(0 To 20) As Double
Dim Circ(0 To 20) As Double
Dim dia(0 To 20) As Double
Dim thk(0 To 20) As Double
Dim Ori(0 To 20) As Double



Merci