The IDLffShape::Init function method initializes or constructs a Shapefile object.

Note: Init methods are special lifecycle methods, and as such cannot be called outside the context of object creation. This means that in most cases, you cannot call the Init method directly. There is one exception to this rule: If you write your own subclass of this class, you can call the Init method from within the Init method of the subclass.


Result = OBJ_NEW(‘IDLffShape’ [, Filename] [, PROPERTY=value])


Result = Obj->[IDLffShape::]Init([, Filename] [, PROPERTY=value])     (In a lifecycle method only.)

Return Value

When this method is called indirectly, as part of the call to the OBJ_NEW function, the return value is an object reference to the newly-created object.

When called directly within a subclass Init method, the return value is 1 if initialization was successful, or zero otherwise.



A scalar string containing the full path and filename of a Shapefile (.shp) to open. If this file exists, it is opened. If the file does not exist, a new Shapefile object is constructed. You do not need to use IDLffShape::Open to open an existing file when specifying this argument.

Note: The .shp, .shx, and .dbx files must exist in the same directory for you to be able to open and access the file unless the UPDATE keyword is set.

Note: The value specified by the Filename argument is used to initialize the value of the FILENAME property of the IDLffShape object.


Any property listed under IDLffShape Properties that contains the word “Yes” in the “Init” column of the properties table can be initialized during object creation using this method. To initialize the value of a property, specify the property name as a keyword set equal to the appropriate property value.


In the following example, we create a new Shapefile object and open the examples/data/states.shp file:

myshape=OBJ_NEW('IDLffShape', FILEPATH('states.shp', $
         SUBDIR=['examples', 'data']))

Version History