Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - NAMESPACE

Referenz-Navigation

 

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 BefehlsreferenzeintragUDT '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 BefehlsreferenzeintragUSING in den 'Globalen Namespace' eingebunden wurde. Über BefehlsreferenzeintragWITH 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

Sleep

Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v0.16

Siehe auch:
BefehlsreferenzeintragUSING (Namespace), BefehlsreferenzeintragEXTERN...END EXTERN, BefehlsreferenzeintragDatentypen und Deklarationen


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 22.07.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 27.12.2012 von Redakteurnemored gespeichert.
  Versionen Versionen