The following code of mine is leaking memory. I am suspecting the
OraCollection and OraObject objects as the cause. Can somebody offer
any suggestions, advice or recommendations ? Thanks in advance.
Dim ocolCoordinates As OraCollection
Dim oobjTracks As OraObject
Dim refCount As Integer
Dim startDateTime As DateTime
Dim trackPoint As TPoint
:
:
startDateTime = DateTime.Parse( oraDynaset.Fiel ds("START_TIME" ).Value)
oobjTracks = oraDynaset.Fiel ds("TRACKPOINTS ").Value
ocolCoordinates = oobjTracks.SDO_ Ordinates
For i = 1 To ocolCoordinates .size Step 4
trackPoint = New TrackPoint _
(Double.Parse(o colCoordinates( i + 1)) _
, Double.Parse(oc olCoordinates(i )) _
, Short.Parse(oco lCoordinates(i + 2)) _
,
startDateTime.A ddSeconds(Doubl e.Parse(ocolCoo rdinates(i + 3))) _
)
F.AddPoint(trac kPoint)
Next
refCount = Marshal.Release ComObject(ocolC oordinates)
'Debug.Assert(0 = refCount, "ocolCoordinate s object still has " &
refCount.ToStri ng() & " references.")
ocolCoordinates = Nothing
refCount = Marshal.Release ComObject(oobjT racks)
'Debug.Assert(0 = refCount, "oobjTracks object still has " &
refCount.ToStri ng() & " references.")
oobjTracks = Nothing
OraCollection and OraObject objects as the cause. Can somebody offer
any suggestions, advice or recommendations ? Thanks in advance.
Dim ocolCoordinates As OraCollection
Dim oobjTracks As OraObject
Dim refCount As Integer
Dim startDateTime As DateTime
Dim trackPoint As TPoint
:
:
startDateTime = DateTime.Parse( oraDynaset.Fiel ds("START_TIME" ).Value)
oobjTracks = oraDynaset.Fiel ds("TRACKPOINTS ").Value
ocolCoordinates = oobjTracks.SDO_ Ordinates
For i = 1 To ocolCoordinates .size Step 4
trackPoint = New TrackPoint _
(Double.Parse(o colCoordinates( i + 1)) _
, Double.Parse(oc olCoordinates(i )) _
, Short.Parse(oco lCoordinates(i + 2)) _
,
startDateTime.A ddSeconds(Doubl e.Parse(ocolCoo rdinates(i + 3))) _
)
F.AddPoint(trac kPoint)
Next
refCount = Marshal.Release ComObject(ocolC oordinates)
'Debug.Assert(0 = refCount, "ocolCoordinate s object still has " &
refCount.ToStri ng() & " references.")
ocolCoordinates = Nothing
refCount = Marshal.Release ComObject(oobjT racks)
'Debug.Assert(0 = refCount, "oobjTracks object still has " &
refCount.ToStri ng() & " references.")
oobjTracks = Nothing