Index: trunk/Include/Classes/ActiveBasic/Windows/CriticalSection.ab
===================================================================
--- trunk/Include/Classes/ActiveBasic/Windows/CriticalSection.ab	(revision 437)
+++ trunk/Include/Classes/ActiveBasic/Windows/CriticalSection.ab	(revision 439)
@@ -52,5 +52,5 @@
 	/*Override*/ Sub Dispose()
 '		Dim pcsOld = ActiveBasic.Windows.Detail.InterlockedExchangeAnyPointer(pcs, 0)
-		Dim pcsOld = InterlockedExchangePointer(pcs As VoidPtr, 0) As *CRITICAL_SECTION
+		Dim pcsOld = InterlockedExchangePointer(ByVal VarPtr(pcs) As *VoidPtr, 0) As *CRITICAL_SECTION
 		If pcsOld <> 0 Then
 			LeaveCriticalSection(ByVal pcsOld)
Index: trunk/Include/Classes/System/IO/FileStream.ab
===================================================================
--- trunk/Include/Classes/System/IO/FileStream.ab	(revision 437)
+++ trunk/Include/Classes/System/IO/FileStream.ab	(revision 439)
@@ -429,5 +429,5 @@
 		If handle <> 0 Then
 			Flush()
-			CloseHandle(InterlockedExchangePointer(VarPtr(handle), NULL))
+			CloseHandle(InterlockedExchangePointer(ByVal VarPtr(handle), NULL))
 		End If
 	End Sub
