Hi all,
I need urgent help please.
I have a DLL “rtfconv.dll”, developed in Microsoft Visual C++ 6.0, which calls a Clarion function “CL_ReadRecord” in a Clarion DLL “readrec.dll”. This works OK in our Clarion 6.3 application (and in the past Clarion 5).
rtfconv.dll = Microsoft Visual C++ 6.0
readrec.dll = Clarion
I have converted the Clarion 6.3 application to Clarion 10, so I have a Clarion 10 version of readrec.dll with the CL_ReadRecord function in it. But now the Visual C++ DLL “rtfconv.dll” doesn’t call the Clarion function CL_ReadRecord anymore. The Visual C++ code hasn’t changed, it’s still the same DLL of ages ago. So only the Clarion 6.3 DLL has been converted to Clarion 10 with the same code.
C++ rtfconv.dll -> call to Clarion 5 dll function CL_ReadRecord = OK
C++ rtfconv.dll -> call to Clarion 6.3 dll function CL_ReadRecord = OK
C++ rtfconv.dll -> call to Clarion 10 dll function CL_ReadRecord = NOTHING HAPPENS!
In the Clarion function CL_ReadRecord I have set a MESSAGE which is shown correctly when my C++ rtfconv.dll calls the function in my Clarion 5/6.3 application.
But it IS NOT shown when my C++ rtfconv.dll calls the function CL_ReadRecord of my Clarion 10 application.
This C++ DLL has been developed 20 years ago by another developer in Microsoft Visual C++ 6.0. In a Win32 Windows 10 VM, I have Microsoft Visual C++ 6.0 running and I also have the source code and I am able to compile a C++ rtfconv.dll file. But my knowledge of C++ is zero.
This is a huge problem, because this C++ DLL is the most important part of our application. It also took a lot of time to convert from C6.3 to C10. And now this has become a showstopper.
I have attached a part of the C++ code (RtfDoc.cpp) in which the Clarion function “CL_ReadRecord” is declared/called?
I have also attached the Clarion code (readrec002.clw) of the function “CL_ReadRecord” which is declared as:
CL_ReadRecord( <*CSTRING> , <*CSTRING> , <*CSTRING> , <*CSTRING > , <*CSTRING >),C,LONG, NAME('CL_ReadRecord')
So I don’t understand why the call from the C++ DLL to my Clarion function CL_ReadRecord does not work when the Clarion DLL is compiled under Clarion 10.
I hope that some C++ guru can help me to solve this problem. Any help is appreciated, thank you very much!
Best regards
Jeffrey
some-source.zip (35,6 KB)