I've attached a shapefile which can be read by QGis but not by MW.
MW5 reports: geometry type: not defined
Most likely the shapefile parser of MW is too strict.
Comments: It seems the problem is with non standard index file (.shx). According to ESRI Shapefile specification: _"The index file header is identical in organization to the main file header described above."_ However in this particular file the 32nd byte equals zero, while in accompanying .shp file it equals 5 (polygon). When I changed this byte in .shx file in hex editor to 5, it is displayed by MapWinGIS correctly. Perhaps, the correct way to handle it, is to check and report any discrepancies between .shp and .shx files as warnings. Right now shape type variable is initialized from .shx file (value from .shp file ignored), therefore it's set to NULLSHAPE. I guess it's not a high priority issue and I don't want to mess with low level shapefile reading without good reason as there is always a chance to introduce bugs. So I leave it for now.
MW5 reports: geometry type: not defined
Most likely the shapefile parser of MW is too strict.
Comments: It seems the problem is with non standard index file (.shx). According to ESRI Shapefile specification: _"The index file header is identical in organization to the main file header described above."_ However in this particular file the 32nd byte equals zero, while in accompanying .shp file it equals 5 (polygon). When I changed this byte in .shx file in hex editor to 5, it is displayed by MapWinGIS correctly. Perhaps, the correct way to handle it, is to check and report any discrepancies between .shp and .shx files as warnings. Right now shape type variable is initialized from .shx file (value from .shp file ignored), therefore it's set to NULLSHAPE. I guess it's not a high priority issue and I don't want to mess with low level shapefile reading without good reason as there is always a chance to introduce bugs. So I leave it for now.