I am wondering if someone has experienced a memory access violation when 
attempting to delete OGRFeatures.  I am running the latest build off the trunk 
and have been able to find no information regarding this error.

Basically, I am following the OGR API tutorial format, with a wrapper for the 
OGR functionality.  The code looks like this:


for (int j = 0; j < featureCount; j++)
{
    if ((feature = layer.GetNextFeature()) == null)
        continue;
    geometry = feature.GetGeometry();
    if (geometry != null)
    {
        geoType = geometry.GetGeometryType();

        //PROCESS GEOMETRY
    }

    feature.Dispose();
}



and the dispose function for the feature's wrapper is:

!Feature()
{
        if (disposed)
                return;

        try
        {
                OGRFeature::DestroyFeature(this->feat);
        }
        catch (System::Exception^)
        {
                Console::WriteLine("AVE:Feature");
        }
        disposed = true;
}


On some shapefiles (not all) the DestroyFeature function throws an 
AccessViolationException.  When run through the ingestion loop, a number of 
these are thrown before the application crashes.  If I comment out the 
DestroyFeature call, the ingestion succeeds, but I think it is opening a hole 
for memory leaks.  Sort of a "damned if you do, damned if you don't" situation.



Thanks in advance,

Brad G.



_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to