Revision history for KeyPgMemberSub


Revision [21947]

Last edited on 2017-10-09 05:52:40 by fxm [Clarified syntax description to access duplicated symbols (by adding one ot two dots as prefix)]
Additions:
To access duplicated symbols defined outside the Type, add one (or two) dot(s) as prefix: ##.""SomeSymbol""## (or ##..""SomeSymbol""## if inside a [[KeyPgWith|With..End With]] block).
Deletions:
To access duplicated symbols defined outside the Type, use: ##.""SomeSymbol""## (or ##..""SomeSymbol""## if inside a [[KeyPgWith|With..End With]] block).


Revision [20970]

Edited on 2016-03-13 04:31:53 by fxm [Formatting]
Additions:





Revision [20312]

Edited on 2016-02-10 16:02:34 by DkLwikki [Update link format]
Additions:
{ [[KeyPgType|Type]] | [[KeyPgClass|Class]] | [[KeyPgUnion|Union]] } //typename//
[[KeyPgDeclare|declare]] [ [[KeyPgStaticMember|static]] | [[KeyPgConstMember|const]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias|alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic|Static]] ]
End { [[KeyPgType|Type]] | [[KeyPgClass|Class]] | [[KeyPgUnion|Union]] }
**Sub** //typename//.//fieldname// ( [ //parameters// ] ) [ [[KeyPgExport|Export]] ]
name of the ##[[KeyPgType|Type]]##, ##[[KeyPgClass|Class]]##, or ##[[KeyPgUnion|Union]]##
can be one of: ##[[KeyPgCdecl|Cdecl]]##, ##[[KeyPgStdcall|Stdcall]]## or ##[[KeyPgPascal|Pascal]]##
##**Sub**## members are accessed with ##[[KeyPgOpMemberAccess|Operator . (Member access)]]## or ##[[KeyPgOpPtrMemberAccess|Operator -> (Pointer to member access)]]## to call a member procedure and may optionally accept parameters either ##[[KeyPgByval|byval]]## or ##[[KeyPgByref|byref]]##. ##//typename//## be overloaded without explicit use of the ##[[KeyPgOverload|Overload]]## keyword.
##//typename//## is the name of the type for which the ##**Sub**## method is declared and defined. Name resolution for ##//typename//## follows the same rules as procedures when used in a ##[[KeyPgNamespace|Namespace]]##.
A hidden ##[[KeyPgThis|this]]## parameter having the same type as ##//typename//## is passed to non-static member procedures. ##[[KeyPgThis|this]]## is used to access the fields of the ##[[KeyPgType|Type]]##, ##[[KeyPgClass|Class]]##, or ##[[KeyPgUnion|Union]]##.
To access duplicated symbols defined outside the Type, use: ##.""SomeSymbol""## (or ##..""SomeSymbol""## if inside a [[KeyPgWith|With..End With]] block).
A ##[[KeyPgStaticMember|Static (Member)]]## may be declared using the ##**Static**## specifier. A ##[[KeyPgConstMember|Const (Member)]]## may be declared using the ##**Const**## specifier.
- Only available in the //[[CompilerOptlang|-lang fb]]// dialect.
- ##[[KeyPgClass|Class]]##
- ##[[KeyPgMemberFunction|Function (Member)]]##
- ##[[KeyPgSub|Sub]]##
- ##[[KeyPgType|Type]]##
Deletions:
{ [[KeyPgType Type]] | [[KeyPgClass Class]] | [[KeyPgUnion Union]] } //typename//
[[KeyPgDeclare declare]] [ [[KeyPgStaticMember static]] | [[KeyPgConstMember const]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic Static]] ]
End { [[KeyPgType Type]] | [[KeyPgClass Class]] | [[KeyPgUnion Union]] }
**Sub** //typename//.//fieldname// ( [ //parameters// ] ) [ [[KeyPgExport Export]] ]
name of the ##[[KeyPgType Type]]##, ##[[KeyPgClass Class]]##, or ##[[KeyPgUnion Union]]##
can be one of: ##[[KeyPgCdecl Cdecl]]##, ##[[KeyPgStdcall Stdcall]]## or ##[[KeyPgPascal Pascal]]##
##**Sub**## members are accessed with ##[[KeyPgOpMemberAccess Operator . (Member access)]]## or ##[[KeyPgOpPtrMemberAccess Operator -> (Pointer to member access)]]## to call a member procedure and may optionally accept parameters either ##[[KeyPgByval byval]]## or ##[[KeyPgByref byref]]##. ##//typename//## be overloaded without explicit use of the ##[[KeyPgOverload Overload]]## keyword.
##//typename//## is the name of the type for which the ##**Sub**## method is declared and defined. Name resolution for ##//typename//## follows the same rules as procedures when used in a ##[[KeyPgNamespace Namespace]]##.
A hidden ##[[KeyPgThis this]]## parameter having the same type as ##//typename//## is passed to non-static member procedures. ##[[KeyPgThis this]]## is used to access the fields of the ##[[KeyPgType Type]]##, ##[[KeyPgClass Class]]##, or ##[[KeyPgUnion Union]]##.
To access duplicated symbols defined outside the Type, use: ##.""SomeSymbol""## (or ##..""SomeSymbol""## if inside a [[KeyPgWith With..End With]] block).
A ##[[KeyPgStaticMember Static (Member)]]## may be declared using the ##**Static**## specifier. A ##[[KeyPgConstMember Const (Member)]]## may be declared using the ##**Const**## specifier.
- Only available in the //[[CompilerOptlang -lang fb]]// dialect.
- ##[[KeyPgClass Class]]##
- ##[[KeyPgMemberFunction Function (Member)]]##
- ##[[KeyPgSub Sub]]##
- ##[[KeyPgType Type]]##


Revision [17843]

Edited on 2015-11-02 08:28:16 by FxMwikki [Added optional specifier 'Export' in keyword syntax]
Additions:
**Sub** //typename//.//fieldname// ( [ //parameters// ] ) [ [[KeyPgExport Export]] ]
Deletions:
**Sub** //typename//.//fieldname// ( [ //parameters// ] )[ [[KeyPgExport Export]] ]


Revision [17842]

Edited on 2015-11-02 08:27:02 by FxMwikki [Added optional specifier 'Export' in keyword syntax]
Additions:
[[KeyPgDeclare declare]] [ [[KeyPgStaticMember static]] | [[KeyPgConstMember const]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic Static]] ]
**Sub** //typename//.//fieldname// ( [ //parameters// ] )[ [[KeyPgExport Export]] ]
Deletions:
[[KeyPgDeclare declare]] [ [[KeyPgStaticMember static]] | [[KeyPgConstMember const]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic Static]] ] [ [[KeyPgExport Export]] ]
**Sub** //typename//.//fieldname// ( [ //parameters// ] )


Revision [17840]

Edited on 2015-11-02 05:40:37 by FxMwikki [Added optional specifier 'Export' in keyword syntax]
Additions:
[[KeyPgDeclare declare]] [ [[KeyPgStaticMember static]] | [[KeyPgConstMember const]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic Static]] ] [ [[KeyPgExport Export]] ]
Deletions:
[[KeyPgDeclare declare]] [ [[KeyPgStaticMember static]] | [[KeyPgConstMember const]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic Static]] ]


Revision [17735]

Edited on 2015-08-01 06:22:14 by FxMwikki [Added note on duplicated symbols]
Additions:
To access duplicated symbols defined outside the Type, use: ##.""SomeSymbol""## (or ##..""SomeSymbol""## if inside a [[KeyPgWith With..End With]] block).


Revision [16120]

Edited on 2012-02-09 03:01:13 by FxMwikki [Fix: Const is allowed on sub method (paragraph 'Syntax')]
Additions:
[[KeyPgDeclare declare]] [ [[KeyPgStaticMember static]] | [[KeyPgConstMember const]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic Static]] ]
Deletions:
[[KeyPgDeclare declare]] [ [[KeyPgStaticMember static]] ] **Sub** //fieldname// [//calling convention specifier//] [ [[KeyPgAlias alias]] //external_name// ] ( [ //parameters// ] ) [ [[KeyPgStatic Static]] ]


Revision [12573]

The oldest known version of this page was created on 2008-02-14 14:24:25 by JeffMarshall [Fix: Const is allowed on sub method (paragraph 'Syntax')]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode