Buchempfehlung
Visual Basic 6 Kochbuch
Visual Basic 6 Kochbuch
Viele praktische Tipps zum Programmieren mit Visual Basic 6, die sich oft auch auf FB übertragen lassen. [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: Programmorganisation

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 BefehlsreferenzeintragType 'foobar' verwendet, kann der User einen eigenen Type 'foobar' definieren, wenn der Type 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 'Point'
    auf Forms.Point. '/

    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 QuickBASIC: neu in FreeBASIC

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

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


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