Sorry for writing my question in German - hier is the text in English:
The following problem occurred with the development of an application:
We now have changed our operating system from Windows XP to Windows 7. Up to now, I developed my programs by using Intel FORTRAN 11.1. The program ran without any errors. Now I transferred the complete project folder to Parallel Studio XE2013 with Visual Studio VS2012. The compiler builds everything without any error.
But, using dialogs (access to “iflogm” and “ifwin”) there occurs an inexplicable run-time error. The procedure is as follows:
if (dlginit( IDD_dlg_inp_04_motor, dlg)) then
..... (several statements follow like "retlog = dlgset(dlg, ...)" as well as diverse settings, calls of subroutines, and activating of the callback (retlog = dlgsetsub(dlg, ….)).
The error occurs at the line:
retint = dlgmodal (dlg)
The error messgae is:
„Uncaught exception at 0x7765DEE0 (ntdll.dll) in Range_4.exe (name of my program): 0xC0000005: access violation by writing to 0x01380FFC“.
The debugger automatically opens the file “crt0.c”; obviously a problem with _WINMAIN occurs.
In this dialog I use also the functions of WIN32-API interface (for example to embed bitmaps into pushbuttons or to set edit controls to READONLY – to attain black letters in a disabled grey edit control). Most of these settings are carried out from the callback routine: the call of the dialog allows for the access to its handle and the handles of the respective controls – this has worked well before our migration.
The migration to the 64-bit architecture is not correctly completed. By the attempt to carry it out manually a conflict arises between the module platform and the target platform. In this case the compiler gives the message:
„Fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86’ ”
I did not succeed in the attempt to set „X86“ in the Configuration Manager ore to activate it anywhere; likewise a respective setting under "Project > Range_4 Properties > Linker > Advanced > Target Machine" does not lead to a correct result.
How can this problem be solved? Is there probably a configuration problem on my platform (in connection with “ntdll.dll”) ?
Thanks very much for an answer!