Referenz - NAMESPACE
Syntax: 
NAMESPACE Bereichsname
  ' Programmcode
END NAMESPACE 
Typ: Anweisung 
Kategorie: Deklaration 
NAMESPACE definiert einen Codeteil als Namespace. Innerhalb eines Namespaces dürfen Symbole benutzt werden, die in einem anderem Namespace bereits benutzt wurden. Namespaces werden üblicherweise in Libraries verwendet, um keine Symbolbezeichner benutzen zu müssen, die der Anwender der Lib eventuell ebenfalls benutzen möchte. Wird z.B. in der Lib ein 
UDT 'foobar' verwendet, kann der User einen eigenen UDT 'foobar' definieren, wenn der UDT in der Lib innerhalb eines Namespaces definiert wurde.
Außerhalb eines Namespaces kann über die Syntax 'Bereichsname.Bezeichner' auf ein Element des Namespaces zugegriffen werden, oder indem der Namespace via 
USING in den 'Globalen Namespace' eingebunden wurde. Über 
WITH kann (noch) nicht auf die Elemente eines Namespaces zugegriffen werden. Innerhalb eines Namespaces dürfen ausschließlich Deklarationen stehen; sogenannte 'ausführbare' Anweisungen sind unzulässig.
FreeBASIC-Namespaces sind kompatibel zu GCC C++.
Folgende Anweisungen sind innerhalb eines Namespaces erlaubt: 
Beispiel:
Namespace Forms
  Type Dot ' Ein 2D-Punkt
    x As Integer
    y As Integer
  End Type
  /' Da sich die folgenden Zeilen
  innerhalb des Namespaces befinden,
  beziehen sich alle Aufrufe von 'Dot'
  auf Forms.Dot. '/
  Sub AdjustDot( ByRef pt As Dot, ByVal newx As Integer, ByVal newy As Integer )
    pt.x = newx
    pt.y = newy
  End Sub
End Namespace
Type Dot ' Ein 3D-Punkt
  x As Integer
  y As Integer
  z As Integer
End Type
Sub AdjustDot( ByRef PT As Dot, ByVal newx As Integer, ByVal newy As Integer, ByVal newz As Integer )
  pt.x = newx
  pt.y = newy
  pt.z = newz
End Sub
Dim d1 As Dot
AdjustDot( d1, 1, 1, 1 )
Dim d2 As Forms.Dot
Forms.AdjustDot( d2, 1, 1 )
Sleep
Namespace kann man auch beliebig verschachteln, was durchaus nützlich sein kann:
Namespace erste
  Dim As Integer variable = 1
End Namespace
Namespace zweite
  Dim As Integer variable = 2
End Namespace
Namespace dritte
  Dim As Integer variable = 3
  Namespace verschachtelte
    Dim As Integer variable = 4
  End Namespace
End Namespace
Print erste.variable
Print zweite.variable
Print dritte.variable
Print dritte.verschachtelte.variable
SleepUnterschiede zu QB: neu in FreeBASIC
Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v0.16
Siehe auch:
USING (Namespace), 
EXTERN...END EXTERN, 
Datentypen und Deklarationen
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
				
  | 
		||||



			FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
 Versionen