To make it simple: having code blocks like {..} in C, allowing Protected variables.
Usefull with macros for instance to be used in several place inside the same procedure but needing to use some 'local' variables.
For instance:
Code: Select all
Macro CHECK_ERR( e_ )
Block
Protected err_ = e_
Select err_
Case 0
; OK
Case 1
ConsoleError( "Error ["+ Str(err_) +"] in "+ #PB_Compiler_Procedure )
; etc..
EndSelect
EndBlock
EndMacro
:Then:
Procedure SomeProcedure()
; some code..
CHECK_ERR( MyProcedureA() )
; some more code..
CHECK_ERR( MyProcedureB() )
; etc..
EndProcedure
Guy.