[Gambas-user] gb3: structure declaration not allowed in a different module

Kevin Fishburne kevinfishburne at ...1887...
Sat Nov 19 08:38:03 CET 2011


I had structure declarations running out of my eyes and ears across 
about 10 modules, so I decided to create a "Structures" module to 
contain them all. Here's an example:

' Gambas module file

' Structure module

' General declarations.

' Audio effect structure.
Public Struct Audio_Effect  ' Structure containing one effect's data.
   Sample As Sound     ' Waveform data (file).
   Chan As Channel     ' Default channel to play on.
   Current As Single   ' Current amplitude.
   Target As Single    ' Target amplitude.
   Scale As Single     ' Target amplitude multiplier.
   Velocity As Single  ' Speed at which current amplitude is moving 
toward target amplitude.
End Struct

In the Audio module I'd have this:

' General declarations.
Public Environment[16] As Struct Structures.Audio_Effect ' Environmental 
effects.

When the array attempts creation I get an error saying that "Structures" 
wasn't a structure. It also fails if I don't specify the module name prefix.

Why can't I create an array of structures in module A using a structure 
defined in module B? Is there some workaround other than moving all my 
structure definitions back into the modules which reference them?

-- 
Kevin Fishburne
Eight Virtues
www: http://sales.eightvirtues.com
e-mail: sales at ...1887...
phone: (770) 853-6271





More information about the User mailing list