Problems to link winfis32.dll file on my app Unresolved External

Hi all,

I have a external dll that i want to use in my app, i’ve used libmaker to generate .lib and imported that file as a module, after that i created all the procedures as external in my app with their prototypes, but when i build my solution i get this error:

Unresolved External OPENCOMFISCAL@Fll in file004.obj
Unresolved External INITFISCAL@Fl in file004.obj
Unresolved External CLOSECOMFISCAL@Fl in file005.obj
Unresolved External MANDAPAQUETEFISCAL@Flsb in file003.obj
Unresolved External ULTIMARESPUESTA@Flsb in file003.obj

can anyone help me with this?

Regards

The imports show Clarion name mangling “@Fl” so was the DLL was made with another Clarion APP?

If yes then you should not need to make a .LIB with LibMaker because the build makes a .LIB … but it is confusing that the LIB is in the OBJ Release or Debug folder…

… Do this so build of the DLL APP puts the LIB in your EXE / DLL folder:

Did you fill in the Name with your .LIB file?

modName

Was the Dll NOT from a Clarion APP ? Then to remove the mangling “@Fl” you’ll need to add PASCAL, C or a NAME().

Looks like this WINF132.DLL Carl

https://translate.google.com/translate?hl=en&sl=es&u=http://www.hmgforum.com/viewtopic.php%3Ft%3D2830&prev=search&pto=aue

1 Like

Hi there thanks for answer, winfis32.dll is not made on Clarion Compiler, i used libmaker to generate lib to import its procedures. first i did it using MODULE(‘winfis32.lib’) declaration by i had same issue. Then i choose to add it using “Application -> Insert Module” but had same result

This is the module way i tried

1 Like

Francisco, can you post the .lib file either here or somewhere we can download and take a look at it?

Rick here you can download winfis32.dll

https://drive.google.com/drive/folders/1Xm2HrJzgp7zxZfBf0Kk-I7qmheaOhUS-?usp=sharing

Thanks @Graham_Dawson ! I should have thought to use The Goolge to look up one of those names

@francisco_viviers Nice screen capture, made it easy to understand.

Try adding PASCAL,RAW,DLL(1) to all of those Prototype lines in your INC file. Also the STRING’s cannot be STRING because that is for calling Clarion. They will very likely need to be *CSTRING

Found C++ on web

int PASCAL OpenTcpFiscal(char *HostName, int Socket, long TimeoutMilisecs, int Mode)

Should be Clarion:

OpenTcpFiscal(*CSTRING HostName, LONG Socket, long TimeoutMilisecs, LONG Mode),LONG,PASCAL,RAW,DLL(1)

Found: OCX or .h +.lib + .dll? | Qt Forum

2 Likes

Thank you all… @CarlBarnes It works! thank you very much im kind a big newbie linking external dll… so this is new knowledge aquired for me.