Revision history for KeyPgObject


Revision [22025]

Last edited on 2017-11-21 01:27:32 by JeffMarshall [updated]
Additions:
{{fbdoc item="back" value="CatPgStdDataTypes|Standard Data Types"}}{{fbdoc item="back" value="CatPgUserDefTypes|User Defined Types"}}
Deletions:
{{fbdoc item="back" value="CatPgStdDataTypes|Standard Data Types"}}


Revision [21797]

Edited on 2017-07-29 02:45:32 by fxm [Cited the acronym RTTI]
Additions:
**Object** is a built-in type which provides Run-Time Type Information (RTTI) for all types derived from it using ##[[KeyPgExtends|Extends]]##, allowing them to be used with ##[[KeyPgOpIs|Operator Is]]##, and to support ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## methods.
Deletions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends|Extends]]##, allowing them to be used with ##[[KeyPgOpIs|Operator Is]]##, and to support ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## methods.


Revision [20341]

Edited on 2016-02-10 16:03:22 by DkLwikki [Update link format]
Additions:
[[KeyPgType|type]] **object**
[[KeyPgType|as]] fb_BaseVT [[KeyPgPtr|ptr]] vtable_ptr
[[KeyPgDeclare|declare]] [[KeyPgConstructor|constructor]]()
[[KeyPgEnd|end]] [[KeyPgType|type]]
[[KeyPgType|type]] //typename// [[KeyPgExtends|extends]] **object**
[[KeyPgEnd|end]] [[KeyPgType|type]]
[[KeyPgDim|dim]] //variable// [[KeyPgAs|as]] **object**
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends|Extends]]##, allowing them to be used with ##[[KeyPgOpIs|Operator Is]]##, and to support ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## methods.
Extending the built-in **Object** type allows to add an extra hidden vtable pointer field at the top of the ##[[KeyPgType|Type]]##. The vtable is used to dispatch ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## methods and to access information for run-time type identification used by ##[[KeyPgOpIs|Operator Is]]##.
See the ##[[KeyPgOpIs|Operator Is]]## page, the ##[[KeyPgVirtual|Virtual]]## and ##[[KeyPgAbstract|Abstract]]## pages.
- Not available in the //[[CompilerOptlang|-lang qb]]// dialect unless referenced with the alias ##**""__Object""**##.
- ##[[KeyPgExtends|Extends]]##
- ##[[KeyPgOpIs|Operator Is]]##
- ##[[KeyPgVirtual|Virtual]]##
- ##[[KeyPgAbstract|Abstract]]##
Deletions:
[[KeyPgType type]] **object**
[[KeyPgType as]] fb_BaseVT [[KeyPgPtr ptr]] vtable_ptr
[[KeyPgDeclare declare]] [[KeyPgConstructor constructor]]()
[[KeyPgEnd end]] [[KeyPgType type]]
[[KeyPgType type]] //typename// [[KeyPgExtends extends]] **object**
[[KeyPgEnd end]] [[KeyPgType type]]
[[KeyPgDim dim]] //variable// [[KeyPgAs as]] **object**
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with ##[[KeyPgOpIs Operator Is]]##, and to support ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## methods.
Extending the built-in **Object** type allows to add an extra hidden vtable pointer field at the top of the ##[[KeyPgType Type]]##. The vtable is used to dispatch ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## methods and to access information for run-time type identification used by ##[[KeyPgOpIs Operator Is]]##.
See the ##[[KeyPgOpIs Operator Is]]## page, the ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## pages.
- Not available in the //[[CompilerOptlang -lang qb]]// dialect unless referenced with the alias ##**""__Object""**##.
- ##[[KeyPgExtends Extends]]##
- ##[[KeyPgOpIs Operator Is]]##
- ##[[KeyPgVirtual Virtual]]##
- ##[[KeyPgAbstract Abstract]]##


Revision [16459]

Edited on 2012-11-21 03:51:54 by FxMwikki [Added short introduction to vtable]
Additions:
Extending the built-in **Object** type allows to add an extra hidden vtable pointer field at the top of the ##[[KeyPgType Type]]##. The vtable is used to dispatch ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## methods and to access information for run-time type identification used by ##[[KeyPgOpIs Operator Is]]##.


Revision [16457]

Edited on 2012-11-19 06:35:21 by FxMwikki [Wording: replace 'with' with 'to support']
Additions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with ##[[KeyPgOpIs Operator Is]]##, and to support ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## methods.
Deletions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with ##[[KeyPgOpIs Operator Is]]##, and with ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## methods.


Revision [16451]

Edited on 2012-11-17 07:30:48 by FxMwikki [Added some references and links to Virtual/Abstract methods]
Additions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with ##[[KeyPgOpIs Operator Is]]##, and with ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## methods.
See the ##[[KeyPgOpIs Operator Is]]## page, the ##[[KeyPgVirtual Virtual]]## and ##[[KeyPgAbstract Abstract]]## pages.
- ##[[KeyPgVirtual Virtual]]##
- ##[[KeyPgAbstract Abstract]]##
Deletions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with ##[[KeyPgOpIs Operator Is]]##.
See the ##[[KeyPgOpIs Operator Is]]## page


Revision [15805]

Edited on 2012-01-23 21:44:42 by DkLwikki [Add OBJECT page]
Additions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with ##[[KeyPgOpIs Operator Is]]##.
See the ##[[KeyPgOpIs Operator Is]]## page
Deletions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with the ##[[KeyPgOpIs Is operator]]##.
See the ##[[KeyPgOpIs Is operator]]## page


Revision [15804]

Edited on 2012-01-23 21:44:13 by DkLwikki [Add IS operator page]
Additions:
See the ##[[KeyPgOpIs Is operator]]## page
Deletions:
See the ##[[KeyPgOpIs Operator Is]]## page


Revision [15803]

Edited on 2012-01-23 21:43:54 by DkLwikki [Add OBJECT page]
Additions:
**Object** is a built-in type which provides run-time type information for all types derived from it using ##[[KeyPgExtends Extends]]##, allowing them to be used with the ##[[KeyPgOpIs Is operator]]##.
See the ##[[KeyPgOpIs Operator Is]]## page
Deletions:
**Object** is a built-in type which provides run-time type information for all types derived from it using [[KeyPgExtends Extends]], allowing them to be used with the [[KeyPgOpIs Is operator]].
See the [[KeyPgOpIs Operator Is]] page


Revision [15800]

The oldest known version of this page was created on 2012-01-23 21:31:09 by DkLwikki [Add OBJECT page]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode