- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there a library that I can link, that has a function to create a GUID ? Using Fortran 11.1.048 on VS 2008.n 11.1.048 on VS 2008.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CoCreateGuid - it ought to be in module OLE32 but isn't. So declare it yourself. For example:
[fortran]use ifwinty
interface
function CoCreateGuid (pguid)
import
!DEC$ ATTRIBUTES STDCALL, REFERENCE, DECORATE, ALIAS:"CoCreateGuid" :: CoCreateGuid
integer(LONG) :: CoCreateGuid
type(T_GUID), intent(OUT) :: pguid
end function CoCreateGuid
end interface
!DEC$ OBJCOMMENT LIB:"ole32.lib"
type(T_GUID) :: my_guid
integer(LONG) :: res
res = CoCreateGuid (my_guid)
if (res ==S_OK) then
print 101, my_guid%data1,my_guid%data2,my_guid%data3,my_guid%data4(1:2), &
my_guid%data4(3:8)
101 format (Z8.8,'-',Z4.4,'-',Z4.4,'-',Z4.4,'-',Z12.12)
else
print *, "Error ", res
end if
end[/fortran]
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CoCreateGuid - it ought to be in module OLE32 but isn't. So declare it yourself. For example:
[fortran]use ifwinty
interface
function CoCreateGuid (pguid)
import
!DEC$ ATTRIBUTES STDCALL, REFERENCE, DECORATE, ALIAS:"CoCreateGuid" :: CoCreateGuid
integer(LONG) :: CoCreateGuid
type(T_GUID), intent(OUT) :: pguid
end function CoCreateGuid
end interface
!DEC$ OBJCOMMENT LIB:"ole32.lib"
type(T_GUID) :: my_guid
integer(LONG) :: res
res = CoCreateGuid (my_guid)
if (res ==S_OK) then
print 101, my_guid%data1,my_guid%data2,my_guid%data3,my_guid%data4(1:2), &
my_guid%data4(3:8)
101 format (Z8.8,'-',Z4.4,'-',Z4.4,'-',Z4.4,'-',Z12.12)
else
print *, "Error ", res
end if
end[/fortran]
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I works great ! and on x64 as well. Thanks
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page