Opened 17 years ago
#356 new defect
.NET: IFeatureReader throws errors when passed by value
Reported by: | MaksimS | Owned by: | gregboone |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | FDO API | Version: | 3.3.1 |
Severity: | 3 | Keywords: | |
Cc: | External ID: |
Description
.NET 2.0: When passed by value, instantiated OSGeo.FDO.Commands.Feature.IFeatureReader causes "memory read error" exceptions thrown on random basis. It's possibly something up to generated managed SWIG interfaces and ways the unmanaged objects / related memory gets handled.
Example:
There's MyFeature class that takes instantiated IFeatureReader in it's constructor to populate it's members and instantiate MyFeature object:
Public Class MyFeature Sub New(ByVal reader As OSGeo.FDO.Commands.Feature.IFeatureReader) ... ... End Sub ...
While being utilized like:
... Dim reader As IFeatureReader = selectCmd.Execute Do While reader.ReadNext Dim myFeatureInstance As New MyFeature(reader) ... Loop reader.Close() reader.Dispose() ...
Excatly the same exceptions (again, on random basis) get thrown if instantiated IFeatureReader was passed by reference. Can someone please point out "dos and dont's" of managed FDO API interfaces?