forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

64 bit ClearWin+
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> ClearWin+
View previous topic :: View next topic  
Author Message
GEWV



Joined: 25 Nov 2013
Posts: 19

PostPosted: Wed Dec 18, 2013 10:01 am    Post subject: Re: %im Reply with quote

GEWV wrote:
The function winio$('%im[image_name]') doesn't work on Windows 8

The main:
Code:
programm win_LadeBMP

        use     mswin$
        implicit none

        integer         win
        win=winio$('%im[StartBild]')
end


and the resource
Code:
StartBild IMAGE TN_Startbild2.bmp
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Fri Dec 20, 2013 6:27 pm    Post subject: Reply with quote

I have fixed this bug but you can avoid it by using %bm and BITMAP for bitmaps.
Back to top
View user's profile Send private message AIM Address
GEWV



Joined: 25 Nov 2013
Posts: 19

PostPosted: Tue Jan 21, 2014 8:17 am    Post subject: Reply with quote

For our application (we try from 32 to 64 bit) we also need the following functions
- ATTACH$
- SET_PIXEL$
- MKDIR$

Or is it possible to use other functions for it.
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Tue Jan 21, 2014 10:26 am    Post subject: Reply with quote

SET_PIXEL$ is available as DRAW_POINT$.

I will make a note to add the other two.
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Tue Jan 21, 2014 5:31 pm    Post subject: Reply with quote

I have uploaded a new DLL to http://www.silverfrost.com/beta/clearwin64.exe.

This includes the two missing routines ATTACH$ and MKDIR$.
Back to top
View user's profile Send private message AIM Address
GEWV



Joined: 25 Nov 2013
Posts: 19

PostPosted: Wed Jan 22, 2014 8:35 am    Post subject: Reply with quote

Many Thanks!!!
Back to top
View user's profile Send private message
DietmarSiepmann



Joined: 03 Jun 2013
Posts: 279

PostPosted: Wed Jan 29, 2014 11:55 am    Post subject: Compiler version problems creating app using clearwin64.dll Reply with quote

A Fortran test application making use of ClearWin64.dll has been successfully compiled using Intel's fortran build environment (64 bit), especially using ifort for compilation and xilink for linking.

We used the Intel Fortran Compiler ifort, version 11.1, for compilation.
The application (named test1.exe) creates a simple window using winio$ and generates some output logged into a file before and after the winio$ call. It works as expected when executed.

Now, we want to use a newer version of Intel's fortran build environment (64 bit), namely version 14.0.

We successfully created the test application from Fortran source file test1.for for Intel's build environment version 14.0, as well.

However, when starting test1.exe created with version 14.0, the following error occurred:

Unreasonable graphics dimensions - 1718157512 x 1718157512

Both applications make use of module files and object files (here for clrwin$) which have been created version specific, as well, for both compiler versions in question.

We checked that both apps call into the same dll ClearWin64.dll.

Is there any comment on that? Could I bypass the problem by means of an appropriate call using clearwin64.dll?

I would appreciate any advice.

Dietmar

Code:
      PROGRAM TEST1
C      USE MSWIN$
      USE IFWIN
      USE CLRWIN$
      IMPLICIT NONE
      INTEGER I
C
      OPEN(42,FILE='test1.log')
      WRITE(42,'(A)') 'Start test1.exe'
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',200,200)
      WRITE(42,'(A,I8)') 'i=',I
      WRITE(42,'(A)') 'End test1.exe'
      CLOSE(42)
C
      END PROGRAM TEST1
Back to top
View user's profile Send private message
IanLambley



Joined: 17 Dec 2006
Posts: 490
Location: Sunderland

PostPosted: Wed Jan 29, 2014 1:24 pm    Post subject: Reply with quote

Are the values of 200,200 in the right size. Try defining these as INTEGER*4 or INTEGER*8 i.e.

Code:

      PROGRAM TEST1
C      USE MSWIN$
      USE IFWIN
      USE CLRWIN$
      IMPLICIT NONE
      INTEGER I
      INTEGER*8 IW,IH
      IW = 200
      IH = 200
C
      OPEN(42,FILE='test1.log')
      WRITE(42,'(A)') 'Start test1.exe'
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',IW,IH)
      WRITE(42,'(A,I8)') 'i=',I
      WRITE(42,'(A)') 'End test1.exe'
      CLOSE(42)
C
      END PROGRAM TEST1
Back to top
View user's profile Send private message Send e-mail
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Wed Jan 29, 2014 5:17 pm    Post subject: Reply with quote

You may need to use %za and %zz in this context.
These are described in the ClearWin64 readme.
Back to top
View user's profile Send private message AIM Address
DanRRight



Joined: 10 Mar 2008
Posts: 2813
Location: South Pole, Antarctica

PostPosted: Thu Jan 30, 2014 5:31 am    Post subject: Reply with quote

Dietmar,
When you declare inside your Intel Fortran program some array around 100MB, 200MB or even 1 GB are created EXE files have similar sizes up to 1 GB too? What are standard stack sizes for single array there? Can you allocate say few 20 GB arrays in 64bit Fortran with the RAM less then that amount?
Back to top
View user's profile Send private message
GEWV



Joined: 25 Nov 2013
Posts: 19

PostPosted: Thu Jan 30, 2014 11:33 am    Post subject: using another gFortran Reply with quote

If I use another gFortran so I rebuild the .mod-files.
This is o.K.
But then I want to build the .exe-file I get an error: clearwin64.dll file not recognizes: File format not recognized
If I want to build the .exe-file with the "Salford"-gfortran I get the following logical error (because the .mod-files were not compiled with the same gFortran): Wrong module version '10' (expected '8') for file 'mswin$.mod' opened at (1)
How can I solve this problem?
Back to top
View user's profile Send private message
DietmarSiepmann



Joined: 03 Jun 2013
Posts: 279

PostPosted: Thu Jan 30, 2014 12:22 pm    Post subject: Compiler version problems creating app using clearwin64.dll Reply with quote

Thanks to all who helped, especially to Ian: the values 200 in the winio$ call weren't in the right size. The integer size depends on the compiler options which I choose making 200 a 2 byte constant. If I substitute all occurrences of 200 with 200_8 or 200_4 (8 byte constant or 4 byte constant), then the winio$ call works successfully and as expected.

However, I am a little confused about the following: if I introduce variables IW and IH like Ian suggested then the winio$ call works for all types of integer for IW and IH (8, 4 and 2 byte constants).

And I am wondering why the behaviour changed when changing the versions of the intel compile environment.

Thanks,
Dietmar

Code:

      PROGRAM TEST1
C      USE MSWIN$
      USE IFWIN
      USE CLRWIN$
      IMPLICIT NONE
      INTEGER I
      INTEGER*8 IW8,IH8
      INTEGER*4 IW4,IH4
      INTEGER*4 IW2,IH2
      IW8 = 200
      IH8 = 200
     
      IW4 = 200
      IH4 = 200
     
      IW2 = 200_2
      IH2 = 200_2
C
      OPEN(42,FILE='test1.log')
      WRITE(42,'(A)') 'Start test1.exe'
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',IW8,IH8) ! ok
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',IW4,IH4) ! ok
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',IW2,IH2) ! ok
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',200_8,200_8) ! ok
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',200_4,200_4) ! ok
      I = WINIO$('%gr[black,metafile_resize,rgb_colours]',200_2,200_2) ! not ok for ifort version 14.1
      WRITE(42,'(A,I8)') 'i=',I
      WRITE(42,'(A)') 'End test1.exe'
      CLOSE(42)
C
      END PROGRAM TEST1
Back to top
View user's profile Send private message
DietmarSiepmann



Joined: 03 Jun 2013
Posts: 279

PostPosted: Thu Jan 30, 2014 1:01 pm    Post subject: Compiler version problems creating app using clearwin64.dll Reply with quote

Sorry, in my last post the term in brackets should read (8, 4 and 2 byte types) instead of (8, 4 and 2 byte constants).

Regards,
Dietmar
Back to top
View user's profile Send private message
IanLambley



Joined: 17 Dec 2006
Posts: 490
Location: Sunderland

PostPosted: Thu Jan 30, 2014 1:19 pm    Post subject: Reply with quote

The FTN95 default is 4 byte integers. Two byte integers are really a waste of time in this day and age and should only be used if there is a specific reason for that size.

I would advise a default of 4 byte integers and 8 byte reals in everyday use.
Ian
Back to top
View user's profile Send private message Send e-mail
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Thu Jan 30, 2014 1:52 pm    Post subject: Reply with quote

Maybe you intended

INTEGER*2 IW2,IH2

In 64 bit Fortran, winio$ passes 64 bit integer addresses even for the constant values. What ClearWin+ receives depends on the positioning of the 32 bit integer with respect to the address that is passed.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> ClearWin+ All times are GMT + 1 Hour
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
Page 5 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group