Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussions

Help! using XFT routines for browsing under Windows 2000

nspikito1
Beginner
557 Views
Hi everyone from a newbie to this forum.
I would like to use an IVF program to open a browser that can open an input file. I have used the Dujic routine XFTfile.f90 under Compaq Visual Fortran, but I cannot get it to work with IVF under VisualStudio.NET. Just today I downloaded the latest XFT routines and I still get errors of the form:

dBoltz.for(24): Error: There is no matching specific function for this generic function reference. [XGETOPENFILE]
dBoltz.for(24): Error: A logical data type is required in this context. [XGETOPENFILE]
dBoltz.for Compilation Aborted (code 1)

Is anyone here familiar with XFT? I only want to do this one simple function (open a Windows-style browser to open a file for data input). Perhaps my problem is not the source code, but my inept use of VS.NET. Anyway, if someone has sample source code that can do this, I would be eternally (well, at least for a few days) grateful.

Richard
0 Kudos
4 Replies
Steven_L_Intel1
Employee
557 Views
Richard,

As I suggested when you asked this through Intel support, you'll have to modify your program to pass the extra hwnd argument the current XFT routine wants. Jugoslav's web site provides some samples. The first error is because your arguments don't match how the routine is defined. The second error is a consequence of the first.

Once you get the arguments matching, you should be ok.
0 Kudos
Paul_Curtis
Valued Contributor I
557 Views
Here is F90 sample code showing file routines using Win32 API calls.
0 Kudos
Jugoslav_Dujic
Valued Contributor II
557 Views
(sentby private e-mail as well)
Hi Richard,
When you use individual XFT modules (XFTFile or XFTGDI), you *have to*
define XLITE either by leaving their first line as:
!DEC$DEFINE XLITE
or by specifying XLITE in Project/Properties/Fortran/Preprocessor/Preprocessor definitions.
Further, the problem with unresolvedreferencesyou encountered can be solved by:
- adding XStrings.f90 to your project as well (I forgot to specify that)
- the missing references like CoTaskMemFree are consequence of the fact
that IVF/VS.NET does not appear to include Ole32.lib in the default
list of libraries.
So, it could just be added either in
Project/Properties/Linker/Input/Additional dependencies
or by inserting
!DEC$OBJCOMMENT LIB: "Ole32.lib"
somewhere in source files (e.g. on top of XFTFile.f90)
Regards
Jugoslav
0 Kudos
nspikito1
Beginner
557 Views
Thank you, everyone. I followed Jugoslav's suggestions and everything worked perfectly.
What a pleasure to get such expert advice so easily!
Richard
0 Kudos
Reply