Module et sctructure externe

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Module et sctructure externe

Message par microdevweb »

Bonjour,

Il y a t'il moyen de passé un structure externe à un module (comme méthode A)

Méthode A qui ne fonctionne pas

Code : Tout sélectionner

Structure project
      name$
EndStructure

Global myProject.project
myProject\name$="teste"
DeclareModule Teste
      Declare init(*project.project)
EndDeclareModule
Module Teste
      Procedure init(*project.project)
            Debug *project\name$
      EndProcedure
EndModule
Teste::init(@myProject)
Méthode B qui fonctionne

Code : Tout sélectionner

DeclareModule project
      Structure project
            name$
      EndStructure
EndDeclareModule
Module project EndModule
UseModule project
Global myProject.project
myProject\name$="teste"
DeclareModule Teste
      UseModule project
      Declare init(*project.project)
EndDeclareModule
Module Teste
      Procedure init(*project.project)
            Debug *project\name$
      EndProcedure
 EndModule
 Teste::init(@myProject)
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Module et sctructure externe

Message par microdevweb »

Merci Spock,

Mais je penses qu'il plus simple de placer la structure dans un module. Mais astuce bonne à prendre :)
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: Module et sctructure externe

Message par Anonyme2 »

On peut déclarer 2 fois la même structure, une en dehors du module accessible partout sauf dans le module et la seconde, la même structure dans le module accessible dans le module et pas ailleurs. Pas de conflit de nom.

Bien sur, bien qu'ayant le même nom, les structures peuvent être différentes. Ce qui compte c'est que l'élément utilisé (structure global) soit à la même position dans la structure du module, bien faire attention à la taille des données mise dans les structures.

Code : Tout sélectionner

Structure project
			name$
EndStructure



Global myProject.project\name$ = "teste"



DeclareModule Teste

	Structure project
		name$
	EndStructure

	Declare init(*project.project)

EndDeclareModule

Module Teste
	
	Procedure init(*project.project)
		Debug *project\name$
	EndProcedure

EndModule


Teste::init(@myProject)

le même code avec les structures différentes

Code : Tout sélectionner

Structure project
			name$
EndStructure



Global myProject.project\name$ = "teste"



DeclareModule Teste

	Structure project
		name$
		age.i
	EndStructure

	Declare init(*project.project)

EndDeclareModule

Module Teste
	
	Procedure init(*project.project)
		Debug *project\name$
	EndProcedure

EndModule


Teste::init(@myProject)
Répondre