- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In IVF 2016 I was able to declare:
interface
function FindFirstVolume(lpszVolumeName,cchBufferLength)
import
!DEC$ ATTRIBUTES STDCALL, REFERENCE, DECORATE, ALIAS:"FindFirstVolumeA" :: FindFirstVolume
integer(HANDLE) :: FindFirstVolume
character(*), intent(OUT) :: lpszVolumeName
integer(DWORD), intent(IN) :: cchBufferLength
!DEC$ ATTRIBUTES VALUE :: cchBufferLength
end function FindFirstVolume
function FindNextVolume(hFindVolume,lpszVolumeName,cchBufferLength)
import
!DEC$ ATTRIBUTES STDCALL, REFERENCE, DECORATE, ALIAS:"FindNextVolumeA" :: FindNextVolume
integer(BOOL) :: FindNextVolume
integer(HANDLE), intent(IN) :: hFindVolume
!DEC$ ATTRIBUTES VALUE :: hFindVolume
character(*), intent(OUT) :: lpszVolumeName
!DEC$ ATTRIBUTES REFERENCE :: lpszVolumeName
integer(DWORD), intent(IN) :: cchBufferLength
!DEC$ ATTRIBUTES VALUE :: cchBufferLength
end function FindNextVolume
function FindVolumeClose(hFindVolume)
import
!DEC$ ATTRIBUTES STDCALL, REFERENCE, DECORATE, ALIAS:"FindVolumeClose" :: FindVolumeClose
integer(BOOL) :: FindVolumeClose
integer(HANDLE), intent(IN) :: hFindVolume
!DEC$ ATTRIBUTES VALUE :: hFindVolume
end function FindVolumeClose
end interface
nut i get an error in 2017. What has changed?
Brooks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll guess (given the absence of any details about the "error") that the relevant API's have been added to the Intel provided Windows API modules (IFWIN and friends), that you have a USE statement for such a module in the same scope as those interface bodies, and the the names of the added API's and the names in your interface bodies now clash.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll guess (given the absence of any details about the "error") that the relevant API's have been added to the Intel provided Windows API modules (IFWIN and friends), that you have a USE statement for such a module in the same scope as those interface bodies, and the the names of the added API's and the names in your interface bodies now clash.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks,
It is now in kernek32
Brooks
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page