- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
i am trying to use the subroutine integertorgb in a win32 program.
based on the description i am using the following
all what i get is:
error LNK2019: Verweis auf nicht aufgelstes externes Symbol "_INTEGERTORGB" in Funktion "_MODUL_FARBSKALEN_mp_XDLG_AENDERUNG_FARBE".
what i am doing wrong?
i also changed use ifqwin to ifwin, no difference
Thanks in advance
Frank
i am trying to use the subroutine integertorgb in a win32 program.
based on the description i am using the following
[bash].... use ifqwin integer :: ir,ig,ib CALL INTEGERTORGB(2456, ir,ig,ib) ....[/bash]
all what i get is:
error LNK2019: Verweis auf nicht aufgelstes externes Symbol "_INTEGERTORGB" in Funktion "_MODUL_FARBSKALEN_mp_XDLG_AENDERUNG_FARBE".
what i am doing wrong?
i also changed use ifqwin to ifwin, no difference
Thanks in advance
Frank
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try USE IFLIB or USE DFLIB.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
no change with dflib
new error with iflib (error #7002: Error in opening the compiled module file. Check INCLUDE paths. [IFLIB])
The programm is based on IVF 11.1.048 and Xeffort , VS2008
allready used use statements:
xft, iflogm, ifwin, ifwinty, ifport, user32
Frank
new error with iflib (error #7002: Error in opening the compiled module file. Check INCLUDE paths. [IFLIB])
The programm is based on IVF 11.1.048 and Xeffort , VS2008
allready used use statements:
xft, iflogm, ifwin, ifwinty, ifport, user32
Frank
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
See your documentation or use Google/Yahoo/..
USE IFQWIN
was correct. Documented here.
[EDITED above, this line added later:] To compile, use the /libs:qwin option.
USE IFQWIN
was correct. Documented here.
[EDITED above, this line added later:] To compile, use the /libs:qwin option.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hello mecej4
thats what i used (shown on top , my example is based on the documentation, only minor changes)
but i get an error (lnk 2019)
Frank
thats what i used (shown on top , my example is based on the documentation, only minor changes)
but i get an error (lnk 2019)
Frank
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have you set your project up as a QuickWin project?
If you have not, then I suspect the correct Quickwin Library containing the procedure will not be searched and so INTEGERTORGB will not be found. Make sure the relevant library is specified to be searched during the link step.
In my version of IVF XE Composer, the interface for INTEGERTORGB is in module IFQWIN, as follows:
SUBROUTINE INTEGERTORGB (RGB,RED, GREEN, BLUE)
!DEC$ ATTRIBUTES DEFAULT :: INTEGERTORGB
!DEC$ ATTRIBUTES DECORATE,C,ALIAS:"_integertorgb" :: INTEGERTORGB
INTEGER*4 RGB
INTEGER*4 RED
!DEC$ ATTRIBUTES REFERENCE :: RED
INTEGER*4 GREEN
!DEC$ ATTRIBUTES REFERENCE :: GREEN
INTEGER*4 BLUE
!DEC$ ATTRIBUTES REFERENCE :: BLUE
END SUBROUTINE
END INTERFACE
Howwever, a DUMPBIN /EXPORTS on IFQWIN.LIB shows the following:
03D 00000000 SECT10 notype () External | __rgbtointeger
03E 00000000 SECT11 notype Static | .text
Section length 30, #relocs 0, #linenums 0, checksum 0, selection 1 (pick no duplicates)
040 00000000 SECT11 notype () External | __integertorgb
041 00000000 UNDEF notype External | __fltused
So the symbol you want is __integertorgb, which has TWO leading underscores and is not decorated with @16!
You need to link to IFQWIN.LIB to find it
If you have not, then I suspect the correct Quickwin Library containing the procedure will not be searched and so INTEGERTORGB will not be found. Make sure the relevant library is specified to be searched during the link step.
In my version of IVF XE Composer, the interface for INTEGERTORGB is in module IFQWIN, as follows:
SUBROUTINE INTEGERTORGB (RGB,RED, GREEN, BLUE)
!DEC$ ATTRIBUTES DEFAULT :: INTEGERTORGB
!DEC$ ATTRIBUTES DECORATE,C,ALIAS:"_integertorgb" :: INTEGERTORGB
INTEGER*4 RGB
INTEGER*4 RED
!DEC$ ATTRIBUTES REFERENCE :: RED
INTEGER*4 GREEN
!DEC$ ATTRIBUTES REFERENCE :: GREEN
INTEGER*4 BLUE
!DEC$ ATTRIBUTES REFERENCE :: BLUE
END SUBROUTINE
END INTERFACE
Howwever, a DUMPBIN /EXPORTS on IFQWIN.LIB shows the following:
03D 00000000 SECT10 notype () External | __rgbtointeger
03E 00000000 SECT11 notype Static | .text
Section length 30, #relocs 0, #linenums 0, checksum 0, selection 1 (pick no duplicates)
040 00000000 SECT11 notype () External | __integertorgb
041 00000000 UNDEF notype External | __fltused
So the symbol you want is __integertorgb, which has TWO leading underscores and is not decorated with @16!
You need to link to IFQWIN.LIB to find it

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page