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:
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?
Was the Dll NOT from a Clarion APP ? Then to remove the mangling “@Fl” you’ll need to add PASCAL, C or a NAME().
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
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)