INIT
(Available in 00 TS Tools(Base) - TS_Tools_PointerSafe)
Purpose
Create a 'TS_PointerSafe' instance
Syntax
oPointerSafe:=TS_PointerSafe{ [oOwner], 10, _SIZEOF( _WinGUID ) }
Arguments
uoOwner
|
NIL, OBJECT
|
dwItemMax
|
DWORD
|
dwItemSize
|
DWORD
|
udwItemStepSize
|
DWORD
|
Description
The object can be used to dynamicly un-allocate static allocated memory. When the 'TS_PointerSafe' object is no longer accessable then the memory allocated will be freed.
Example
oPointerSafe:=TS_PointerSafe{ oOwner, 10, _SIZEOF( _WinGUID ) }
FOR X:=1 UPTO 10
pGUID:=oPointerSafe:ItemPointer( X )
// Do something with the GUID-pointer
...
NEXT
Source
METHOD INIT( uoOwner, dwItemMax, dwItemSize, udwItemStepSize ) CLASS TS_PointerSafe
LOCAL cAccessTypeList AS STRING
LOCAL dwItemStepSize AS DWORD
LOCAL lInit AS LOGIC
TSTrace Enter CREATE
IF LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_ININIT ; ...
... ) )
SELF:_ObjectStat1+=TS_OBJSTAT1_COUNTVALUE
cAccessTypeList:=TS_AccessTypeList( uoOwner, dwItemMax, dwItemSize, udwItemStepSize