Quantcast
Channel: Intel® Fortran Compiler
Viewing all articles
Browse latest Browse all 3270

Interface questions

$
0
0

I am currently modifying a windows/Fortran application to use Unicode text in all the menu's and dialogs and after a few technical issues this seems to be progressing OK.

The SDK has two versions of all routines that take text, for example WriteConsole is the generic but we have   WriteConsoleA (ansi text version) and  WriteConsoleW (Unicode text version). It seems that in all the IFWIN sub-sets the generic routine always interfaces to the A version and the W interface is always absent, As such I am having to provide my own interfaces, is there any plan to add these missing interfaces? It seems strange in this day and age  to have a Windows Fortran that does not support the method of choice for language support of windows!

My second question relates to the code snippet below from USER32.f90. The AppendMenu interface has AppendMenu_G1 and AppendMenu_G2 functions, does the compiler select which function to use based on the types of the arguments in the call?

INTERFACE AppendMenu

	FUNCTION AppendMenu_G1( &

	        hMenu, &

	        uFlags, &

	        uIDNewItem, &

	        lpNewItem)

	use ifwinty

	  integer(BOOL) :: AppendMenu_G1 ! BOOL

	    !DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'AppendMenuA' :: AppendMenu_G1

	  integer(HANDLE) hMenu ! HMENU hMenu

	  integer(UINT) uFlags ! UINT uFlags

	  integer(UINT_PTR) uIDNewItem ! UINT_PTR uIDNewItem

	!DEC$ ATTRIBUTES REFERENCE, ALLOW_NULL :: lpNewItem

	  character*(*) lpNewItem ! LPCSTR lpNewItem

	 END FUNCTION

	FUNCTION AppendMenu_G2( &

	        hMenu, &

	        uFlags, &

	        uIDNewItem, &

	        lpNewItem)

	use ifwinty

	  integer(BOOL) :: AppendMenu_G2 ! BOOL

	    !DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'AppendMenuA' :: AppendMenu_G2

	  integer(HANDLE) hMenu ! HMENU hMenu

	  integer(UINT) uFlags ! UINT uFlags

	  integer(UINT_PTR) uIDNewItem ! UINT_PTR uIDNewItem

	  integer(LPVOID) lpNewItem ! LPCSTR lpNewItem

	 END FUNCTION

	END INTERFACE

Viewing all articles
Browse latest Browse all 3270

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>