<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Problem of DialogProc in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887085#M77015</link>
    <description>&lt;DIV style="margin:0px;"&gt;What is the 'problem' you get? What error messages? What happens?&lt;BR /&gt;Try replacing AboutDlgProc with MyConfigDlgProc in the following:&lt;BR /&gt;&lt;BR /&gt;integer*4 function MyConfigDlgProc( hDlg, message, uParam, lParam )&lt;BR /&gt;!DEC$ IF DEFINED(_X86_)&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : '_AboutDlgProc@16' :: AboutDlgProc&lt;BR /&gt;!DEC$ ELSE&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : 'AboutDlgProc' :: AboutDlgProc&lt;BR /&gt;!DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt;Otherwise attach a zipped archive of your project for further investigation&lt;/DIV&gt;
&lt;BR /&gt;</description>
    <pubDate>Wed, 26 Aug 2009 09:03:35 GMT</pubDate>
    <dc:creator>anthonyrichards</dc:creator>
    <dc:date>2009-08-26T09:03:35Z</dc:date>
    <item>
      <title>Problem of DialogProc</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887084#M77014</link>
      <description>Hello everyone!&lt;BR /&gt;I wrote some code below. But I have a Problem to run it. I defined a name &lt;B&gt;MyConfigDlgProc&lt;/B&gt; for my DialogProc, the Problem is, when i change this name to &lt;B&gt;AboutDlgProc&lt;/B&gt; , it can run without Problem. But with other names has it always Problem.&lt;BR /&gt;&lt;BR /&gt;integer*4 function WinMain( hInstance, hPrevInstance, lpszCmdLine, nCmdShow )&lt;BR /&gt;!DEC$ IF DEFINED(_X86_)&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : '_WinMain@16' :: WinMain&lt;BR /&gt;!DEC$ ELSE&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : 'WinMain' :: WinMain&lt;BR /&gt;!DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt; use user32&lt;BR /&gt; use kernel32&lt;BR /&gt; use dialogGlobals&lt;BR /&gt; &lt;BR /&gt; implicit none&lt;BR /&gt;&lt;BR /&gt; integer*4 hInstance&lt;BR /&gt; integer*4 hPrevInstance&lt;BR /&gt; integer*4 lpszCmdLine&lt;BR /&gt; integer*4 nCmdShow&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; ! Variables&lt;BR /&gt; type (T_WNDCLASS)       wc&lt;BR /&gt; type (T_MSG)            mesg&lt;BR /&gt; integer*4               ret&lt;BR /&gt; logical*4               lret&lt;BR /&gt; integer                 haccel&lt;BR /&gt;&lt;BR /&gt; character(SIZEOFAPPNAME) lpszClassName&lt;BR /&gt; character(SIZEOFAPPNAME) lpszIconName&lt;BR /&gt; character(SIZEOFAPPNAME) lpszAppName&lt;BR /&gt; character(SIZEOFAPPNAME) lpszMenuName&lt;BR /&gt; character(SIZEOFAPPNAME) lpszAccelName&lt;BR /&gt; interface &lt;BR /&gt; integer*4 function MainWndProc ( hwnd, mesg, wParam, lParam )&lt;BR /&gt; !DEC$ IF DEFINED(_X86_)&lt;BR /&gt; !DEC$ ATTRIBUTES STDCALL, ALIAS : '_MainWndProc@16' :: MainWndProc&lt;BR /&gt; !DEC$ ELSE&lt;BR /&gt; !DEC$ ATTRIBUTES STDCALL, ALIAS : 'MainWndProc' :: MainWndProc&lt;BR /&gt; !DEC$ ENDIF&lt;BR /&gt; integer*4 hwnd &lt;BR /&gt; integer*4 mesg  &lt;BR /&gt; integer*4 wParam&lt;BR /&gt; integer*4 lParam &lt;BR /&gt; end function &lt;BR /&gt; end interface&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; ghInstance = hInstance&lt;BR /&gt; ghModule = GetModuleHandle(NULL)&lt;BR /&gt; ghwndMain = NULL&lt;BR /&gt;&lt;BR /&gt; lpszClassName ="test"C&lt;BR /&gt; lpszAppName ="test"C&lt;BR /&gt; lpszIconName ="test"C  &lt;BR /&gt; lpszMenuName ="test"C&lt;BR /&gt; lpszAccelName ="test"C&lt;BR /&gt;&lt;BR /&gt; !  If this is the first instance of the application, register the&lt;BR /&gt; !  window class(es)&lt;BR /&gt; if (hPrevInstance .eq. 0) then&lt;BR /&gt; !  Main window&lt;BR /&gt; wc%lpszClassName = LOC(lpszClassName)&lt;BR /&gt; wc%lpfnWndProc = LOC(MainWndProc)&lt;BR /&gt; wc%style = IOR(CS_VREDRAW , CS_HREDRAW)&lt;BR /&gt; wc%hInstance = hInstance&lt;BR /&gt; wc%hIcon = LoadIcon( hInstance, LOC(lpszIconName))&lt;BR /&gt; wc%hCursor = LoadCursor( NULL, IDC_ARROW )&lt;BR /&gt; wc%hbrBackground = ( COLOR_WINDOW+1 )&lt;BR /&gt; wc%lpszMenuName = NULL&lt;BR /&gt; wc%cbClsExtra = 0&lt;BR /&gt; wc%cbWndExtra = 0&lt;BR /&gt; if (RegisterClass(wc) == 0) goto 99999&lt;BR /&gt; end if&lt;BR /&gt;&lt;BR /&gt; ! Load the window's menu and accelerators and create the window&lt;BR /&gt; !&lt;BR /&gt; ghMenu = LoadMenu(hInstance, LOC(lpszMenuName))&lt;BR /&gt; if (ghMenu == 0) goto 99999&lt;BR /&gt; haccel = LoadAccelerators(hInstance, LOC(lpszAccelName))&lt;BR /&gt; if (haccel == 0) goto 99999&lt;BR /&gt;&lt;BR /&gt; ghwndMain = CreateWindowEx(  0, lpszClassName,                 &amp;amp;&lt;BR /&gt; lpszAppName,                      &amp;amp;&lt;BR /&gt; INT(WS_OVERLAPPEDWINDOW),         &amp;amp;&lt;BR /&gt; CW_USEDEFAULT,                    &amp;amp;&lt;BR /&gt; 0,                                &amp;amp;&lt;BR /&gt; CW_USEDEFAULT,                    &amp;amp;&lt;BR /&gt; 0,                                &amp;amp;&lt;BR /&gt; NULL,                             &amp;amp;&lt;BR /&gt; ghMenu,                           &amp;amp;&lt;BR /&gt; hInstance,                        &amp;amp;&lt;BR /&gt; NULL                              &amp;amp;&lt;BR /&gt; )&lt;BR /&gt; if (ghwndMain == 0) goto 99999&lt;BR /&gt;&lt;BR /&gt; lret = ShowWindow( ghwndMain, nCmdShow )&lt;BR /&gt;&lt;BR /&gt; ! Read and process messsages&lt;BR /&gt; do while( GetMessage (mesg, NULL, 0, 0) ) &lt;BR /&gt; if ( TranslateAccelerator (mesg%hwnd, haccel, mesg) == 0) then&lt;BR /&gt; lret = TranslateMessage( mesg )&lt;BR /&gt; ret  = DispatchMessage( mesg )&lt;BR /&gt; end if&lt;BR /&gt; end do&lt;BR /&gt;&lt;BR /&gt; WinMain = mesg.wParam&lt;BR /&gt; return&lt;BR /&gt;&lt;BR /&gt;99999 &amp;amp;&lt;BR /&gt;&lt;BR /&gt; ret = MessageBox(ghwndMain, "Error initializing application dialog"C, &amp;amp;&lt;BR /&gt; "Error"C, MB_OK)&lt;BR /&gt; WinMain = 0&lt;BR /&gt;&lt;BR /&gt;end &lt;BR /&gt;&lt;BR /&gt;!****************************************************************************&lt;BR /&gt;!&lt;BR /&gt;!  FUNCTION: MainWndProc ( hWnd, mesg, wParam, lParam )&lt;BR /&gt;!&lt;BR /&gt;!  PURPOSE:  Processes messages for the main window&lt;BR /&gt;!&lt;BR /&gt;!  COMMENTS:&lt;BR /&gt;!&lt;BR /&gt;!****************************************************************************&lt;BR /&gt;&lt;BR /&gt;integer function MainWndProc ( hWnd, mesg, wParam, lParam )&lt;BR /&gt;!DEC$ IF DEFINED(_X86_)&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : '_MainWndProc@16' :: MainWndProc&lt;BR /&gt;!DEC$ ELSE&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : 'MainWndProc' :: MainWndProc&lt;BR /&gt;!DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt; use user32&lt;BR /&gt; use dialogGlobals&lt;BR /&gt; use dfwin&lt;BR /&gt; implicit none&lt;BR /&gt;&lt;BR /&gt; integer*4 hWnd&lt;BR /&gt; integer*4 mesg&lt;BR /&gt; integer*4 wParam&lt;BR /&gt; integer*4 lParam&lt;BR /&gt;&lt;BR /&gt; include 'resource.fd'&lt;BR /&gt;&lt;BR /&gt; !interface &lt;BR /&gt; !integer*4 function  AboutDlgProc( hwnd, mesg, wParam, lParam )&lt;BR /&gt; &lt;BR /&gt; !DEC$ IF DEFINED(_X86_)&lt;BR /&gt; !DEC$ ATTRIBUTES STDCALL, ALIAS : '_AboutDlgProc@16' :: AboutDlgProc&lt;BR /&gt; !DEC$ ELSE&lt;BR /&gt; !DEC$ ATTRIBUTES STDCALL, ALIAS : 'AboutDlgProc' :: AboutDlgProc&lt;BR /&gt; !DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; interface &lt;BR /&gt; integer*4 function  MyConfigDlgProc( hwnd, mesg, wParam, lParam )&lt;BR /&gt;&lt;BR /&gt; integer*4 hwnd &lt;BR /&gt; integer*4 mesg  &lt;BR /&gt; integer*4 wParam&lt;BR /&gt; integer*4 lParam &lt;BR /&gt; end function &lt;BR /&gt; end interface&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; ! Variables&lt;BR /&gt; integer*4           ret, fdlg&lt;BR /&gt; character(SIZEOFAPPNAME)  lpszName, lpszHelpFileName, lpszContents, lpszMessage&lt;BR /&gt; character(SIZEOFAPPNAME)  lpszHeader&lt;BR /&gt;&lt;BR /&gt; select case ( mesg )&lt;BR /&gt;&lt;BR /&gt; ! WM_DESTROY: PostQuitMessage() is called &lt;BR /&gt; case (WM_DESTROY)&lt;BR /&gt; call PostQuitMessage( 0 )&lt;BR /&gt; MainWndProc = 0&lt;BR /&gt; return&lt;BR /&gt;&lt;BR /&gt; ! WM_COMMAND: user command&lt;BR /&gt; case (WM_COMMAND)&lt;BR /&gt; select case ( IAND(wParam, 16#ffff ) )&lt;BR /&gt; &lt;BR /&gt; case (IDM_EXIT)&lt;BR /&gt; ret = SendMessage( hWnd, WM_CLOSE, 0, 0 )&lt;BR /&gt; MainWndProc = 0&lt;BR /&gt; return&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;B&gt;case (IDM_Config)&lt;BR /&gt;&lt;BR /&gt; fdlg = LOC(MyConfigDlgProc)&lt;BR /&gt; ret =  DialogBoxParam (ghInstance,IDD_CONF,hWnd,&amp;amp; &lt;BR /&gt; fdlg,0)&lt;BR /&gt; MainWndProc = 0&lt;BR /&gt; return&lt;/B&gt; &lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; ! All of the other possible menu options are currently disabled&lt;BR /&gt;&lt;BR /&gt; case DEFAULT&lt;BR /&gt; MainWndProc = DefWindowProc( hWnd, mesg, wParam, lParam )&lt;BR /&gt; return&lt;BR /&gt; end select&lt;BR /&gt;&lt;BR /&gt; ! Let the default window proc handle all other messages&lt;BR /&gt; case default&lt;BR /&gt; MainWndProc = DefWindowProc( hWnd, mesg, wParam, lParam )&lt;BR /&gt;&lt;BR /&gt; end select&lt;BR /&gt;&lt;BR /&gt;end&lt;BR /&gt;&lt;BR /&gt;!****************************************************************************&lt;BR /&gt;!&lt;BR /&gt;!  FUNCTION: CenterWindow (HWND, HWND)&lt;BR /&gt;!&lt;BR /&gt;!  PURPOSE:  Center one window over another&lt;BR /&gt;!&lt;BR /&gt;!  COMMENTS: Dialog boxes take on the screen position that they were designed&lt;BR /&gt;!            at, which is not always appropriate. Centering the dialog over a&lt;BR /&gt;!            particular window usually results in a better position.&lt;BR /&gt;!&lt;BR /&gt;!****************************************************************************&lt;BR /&gt;&lt;BR /&gt;subroutine CenterWindow (hwndChild, hwndParent)&lt;BR /&gt;&lt;BR /&gt; use user32&lt;BR /&gt; use gdi32 &lt;BR /&gt; use dialogGlobals&lt;BR /&gt;&lt;BR /&gt; implicit none&lt;BR /&gt;&lt;BR /&gt; integer         hwndChild, hwndParent&lt;BR /&gt;&lt;BR /&gt; include 'resource.fd'&lt;BR /&gt;&lt;BR /&gt; ! Variables&lt;BR /&gt; type (T_RECT)   rChild, rParent&lt;BR /&gt; integer         wChild, hChild, wParent, hParent&lt;BR /&gt; integer         wScreen, hScreen, xNew, yNew&lt;BR /&gt; integer         hdc&lt;BR /&gt; integer*4       retval&lt;BR /&gt;&lt;BR /&gt; ! Get the Height and Width of the child window&lt;BR /&gt; retval = GetWindowRect (hwndChild, rChild)&lt;BR /&gt; wChild = rChild.right - rChild.left&lt;BR /&gt; hChild = rChild.bottom - rChild.top&lt;BR /&gt;&lt;BR /&gt; ! Get the Height and Width of the parent window&lt;BR /&gt; retval = GetWindowRect (hwndParent, rParent)&lt;BR /&gt; wParent = rParent.right - rParent.left&lt;BR /&gt; hParent = rParent.bottom - rParent.top&lt;BR /&gt;&lt;BR /&gt; ! Get the display limits&lt;BR /&gt; hdc = GetDC (hwndChild)&lt;BR /&gt; wScreen = GetDeviceCaps (hdc, HORZRES)&lt;BR /&gt; hScreen = GetDeviceCaps (hdc, VERTRES)&lt;BR /&gt; retval = ReleaseDC (hwndChild, hdc)&lt;BR /&gt;&lt;BR /&gt; ! Calculate new X position, then adjust for screen&lt;BR /&gt; xNew = rParent.left + ((wParent - wChild) /2)&lt;BR /&gt; if (xNew .LT. 0) then&lt;BR /&gt; xNew = 0&lt;BR /&gt; else if ((xNew+wChild) .GT. wScreen) then&lt;BR /&gt; xNew = wScreen - wChild&lt;BR /&gt; end if&lt;BR /&gt;&lt;BR /&gt; ! Calculate new Y position, then adjust for screen&lt;BR /&gt; yNew = rParent.top  + ((hParent - hChild) /2)&lt;BR /&gt; if (yNew .LT. 0) then&lt;BR /&gt; yNew = 0&lt;BR /&gt; else if ((yNew+hChild) .GT. hScreen) then&lt;BR /&gt; yNew = hScreen - hChild&lt;BR /&gt; end if&lt;BR /&gt;&lt;BR /&gt; ! Set it, and return&lt;BR /&gt; retval = SetWindowPos (hwndChild, NULL, xNew, yNew, 0, 0,      &amp;amp;&lt;BR /&gt; IOR(SWP_NOSIZE , SWP_NOZORDER))&lt;BR /&gt;end  &lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;integer*4 function MyConfigDlgProc( hDlg, message, uParam, lParam )&lt;/B&gt;&lt;BR /&gt;!DEC$ IF DEFINED(_X86_)&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : '_AboutDlgProc@16' :: AboutDlgProc&lt;BR /&gt;!DEC$ ELSE&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : 'AboutDlgProc' :: AboutDlgProc&lt;BR /&gt;!DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt; use kernel32&lt;BR /&gt; use user32&lt;BR /&gt; use gdi32&lt;BR /&gt; use dfwbase&lt;BR /&gt; use version&lt;BR /&gt; use dialogGlobals&lt;BR /&gt;&lt;BR /&gt; implicit none&lt;BR /&gt;&lt;BR /&gt; integer     hDlg        ! window handle of the dialog box&lt;BR /&gt; integer     message     ! type of message&lt;BR /&gt; integer     uParam      ! message-specific information&lt;BR /&gt; integer     lParam&lt;BR /&gt;&lt;BR /&gt; include 'resource.fd'&lt;BR /&gt;&lt;BR /&gt; ! Variables&lt;BR /&gt; integer*4   hfontDlg&lt;BR /&gt; save        hfontDlg&lt;BR /&gt;&lt;BR /&gt; integer     dwVerHnd&lt;BR /&gt; integer     dwVerInfoSize&lt;BR /&gt; integer     uVersionLen&lt;BR /&gt; integer     bRetCode&lt;BR /&gt; integer     i&lt;BR /&gt; character*256   szFullPath&lt;BR /&gt; character*256   szResult&lt;BR /&gt; character*256   szGetName&lt;BR /&gt; character*256   lpversion&lt;BR /&gt;&lt;BR /&gt; integer*4   lpstrVffInfo&lt;BR /&gt; integer*4   hMem&lt;BR /&gt; integer*4   ret&lt;BR /&gt;&lt;BR /&gt; select case (message)&lt;BR /&gt; case (WM_INITDIALOG)   ! message: initialize dialog box&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; ! Center the dialog over the application window&lt;BR /&gt; call CenterWindow (hDlg, GetWindow (hDlg, GW_OWNER))&lt;BR /&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;BR /&gt; MyConfigDlgProc = 1&lt;BR /&gt; return&lt;BR /&gt; case (WM_COMMAND)                      ! message: received a command&lt;BR /&gt; if ((IAND(uParam,16#ffff) .EQ. IDOK) &amp;amp; !OK Selected?&lt;BR /&gt; .OR. (IAND(uParam,16#ffff) .EQ. IDCANCEL)) then ! Close command?&lt;BR /&gt; ret = EndDialog(hDlg, TRUE)      ! Exit the dialog&lt;BR /&gt; &lt;BR /&gt; MyConfigDlgProc = 1&lt;BR /&gt; return&lt;BR /&gt; end if&lt;BR /&gt; end select  &lt;BR /&gt; MyConfigDlgProc = 0 ! Didn't process the message&lt;BR /&gt; return&lt;BR /&gt;end</description>
      <pubDate>Tue, 25 Aug 2009 18:02:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887084#M77014</guid>
      <dc:creator>csn1011</dc:creator>
      <dc:date>2009-08-25T18:02:16Z</dc:date>
    </item>
    <item>
      <title>Re: Problem of DialogProc</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887085#M77015</link>
      <description>&lt;DIV style="margin:0px;"&gt;What is the 'problem' you get? What error messages? What happens?&lt;BR /&gt;Try replacing AboutDlgProc with MyConfigDlgProc in the following:&lt;BR /&gt;&lt;BR /&gt;integer*4 function MyConfigDlgProc( hDlg, message, uParam, lParam )&lt;BR /&gt;!DEC$ IF DEFINED(_X86_)&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : '_AboutDlgProc@16' :: AboutDlgProc&lt;BR /&gt;!DEC$ ELSE&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : 'AboutDlgProc' :: AboutDlgProc&lt;BR /&gt;!DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt;Otherwise attach a zipped archive of your project for further investigation&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Wed, 26 Aug 2009 09:03:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887085#M77015</guid>
      <dc:creator>anthonyrichards</dc:creator>
      <dc:date>2009-08-26T09:03:35Z</dc:date>
    </item>
    <item>
      <title>Re: Problem of DialogProc</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887086#M77016</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/341673"&gt;anthonyrichards&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;What is the 'problem' you get? What error messages? What happens?&lt;BR /&gt;Try replacing AboutDlgProc with MyConfigDlgProc in the following:&lt;BR /&gt;&lt;BR /&gt;integer*4 function MyConfigDlgProc( hDlg, message, uParam, lParam )&lt;BR /&gt;!DEC$ IF DEFINED(_X86_)&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : '_AboutDlgProc@16' :: AboutDlgProc&lt;BR /&gt;!DEC$ ELSE&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : 'AboutDlgProc' :: AboutDlgProc&lt;BR /&gt;!DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt;Otherwise attach a zipped archive of your project for further investigation&lt;/DIV&gt;
&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;You could also replace all 5 !DEC$ lines with&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, DECORATE, ALIAS :'MyConfigDlgProc'::MyConfigDlgProc&lt;BR /&gt;(similar for your WinMain function)&lt;BR /&gt;&lt;BR /&gt;Note : &lt;BR /&gt;You should use integer(HANDLE) for hInstance and hPrevInstance (and others where appropriate)&lt;BR /&gt;similarly&lt;BR /&gt;integer(LPWSTR) lpszCmsLine&lt;BR /&gt;integer(SINT) nCmdShow&lt;BR /&gt;&lt;BR /&gt;and so on.&lt;BR /&gt;&lt;BR /&gt;Les</description>
      <pubDate>Wed, 26 Aug 2009 09:42:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887086#M77016</guid>
      <dc:creator>Les_Neilson</dc:creator>
      <dc:date>2009-08-26T09:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: Problem of DialogProc</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887087#M77017</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/440342"&gt;csn1011&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;integer*4 function MyConfigDlgProc( hDlg, message, uParam, lParam )&lt;/STRONG&gt;&lt;BR /&gt;!DEC$ IF DEFINED(_X86_)&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : '_AboutDlgProc@16' :: AboutDlgProc&lt;BR /&gt;!DEC$ ELSE&lt;BR /&gt;!DEC$ ATTRIBUTES STDCALL, ALIAS : 'AboutDlgProc' :: AboutDlgProc&lt;BR /&gt;!DEC$ ENDIF&lt;BR /&gt;&lt;BR /&gt;use kernel32&lt;BR /&gt;use user32&lt;BR /&gt;use gdi32&lt;BR /&gt;use dfwbase&lt;BR /&gt;use version&lt;BR /&gt;use dialogGlobals&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Hi,&lt;BR /&gt;See from your code,the declared alias for "MyConfigDlgProc" is still "AboutDlgProc" which may causeyour problem.</description>
      <pubDate>Wed, 26 Aug 2009 09:48:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/Problem-of-DialogProc/m-p/887087#M77017</guid>
      <dc:creator>Yuan_C_Intel</dc:creator>
      <dc:date>2009-08-26T09:48:22Z</dc:date>
    </item>
  </channel>
</rss>

