[Shapelib] Delete or hide Shape from Shapefile
Frank Warmerdam
warmerdam at pobox.com
Tue May 19 06:49:07 PDT 2009
Jelmer Baas wrote:
> The following code freezes my application:
>
> Dim intShapeFile As Integer, intEntities As Integer, objShapeType As
> MapTools.ShapeLib.ShapeType
> Dim minB(2) As Double, maxB(2) As Double
>
> intShapeFile = SHPOpen("C:\test\test.shp", "rb+")
> SHPGetInfo(intShapeFile, intEntities, objShapeType, minB, maxB)
> SHPClose(intShapeFile)
> System.GC.Collect()
>
> I tried a different shape file, same problem. MapServer can properly
> draw the shapes, so
> I think it's a valid file, too. There's no way to recover except kill
> the application.
>
>
> Well, wouldn't you know. While typing this I had another idea: to skip
> SHPGetInfo, and that
> does the trick. Question remains: why does SHPGetInfo crash the app when
> using Shapelib?
Jelmer,
The minB, maxB arguments to SHPGetInfo() should be dimensioned with a size
of four (X, Y, Z, measure), not 2. I presume SHPGetInfo is writing past
the end of your arrays and corrupting the heap.
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
More information about the Shapelib
mailing list