object
An object is a data structure that provides properties, variables, methods and events.
Each object is associated with a
Class, that describes the behaviour of these properties, variables, methods and events.
A
Class may be defined either in
Gambas, as in the class "
textbox",
or by the programmer who defines a new class in their project.
A class never has an address. A class cannot be displayed.
Objects have a runtime address. This address can be displayed in the watch window.
Members of the object can also be displayed in the watch window.
Example 1
In this example, "
TextBox" is a
Class.
"TextBox1" is an
Object which is created by the IDE.
"hTextBox1" is a reference to an object of the type
TextBox.
Later in this example, the reference to the IDE created "TextBox1" is copied to "hTextBox1".
In the watch window of the IDE references to them show the same hexadecimal address.
Members of the object can also be displayed in the watch window, e.g.:
Expression
|
Value
|
TextBox
|
ERROR: Unknown ...
|
TextBox1
|
(TextBox 0x81099c0)
|
hTextBox1
|
(TextBox 0x81099c0)
|
hTextBox1.Text
|
"Set hTextBox1"
|
PUBLIC SUB Button1_Click()
DIM hTextBox1 AS TextBox ' can hold the address of the object
hTextBox1 = TextBox1 ' gets the address of the already existing object
hTextBox1.Text = "Set hTextBox1"
hTextBox1.X = TextBox1.X + 80
hTextBox1.Y = TextBox1.Y + 120
END
Example 2
In this example, "
TextBox" is a
Class. "hTextBox1" is an
Object of this
Class, which will be created on the
Form Form1.
The
TextBox is placed on the form at the designated X and Y coordinates, is filled with the specified text, and is given the name TextBox1.
PUBLIC SUB Button1_Click()
DIM hTextBox1 AS TextBox ' can hold the address of the object
hTextBox1 = NEW TextBox(Form1) ' Instantiates a new TextBox, i.e. creates the object
hTextBox1.Text = "Set hTextBox1"
hTextBox1.X = TextBox1.X + 80
hTextBox1.Y = TextBox1.Y + 120
END