Clarion5 using DLL compiled in C6


#1

Hi again.

I have a 2 part question and I’m sure i know the answer to the first part.

Firstly, C5 can call procedures from a DLL created in C6 can’t it? I assume you must have the C60runx.dll in the path etc as well as any other driver dlls that are required. Am I correct?

Secondly, does it matter if the C6 DLL uses ABC when C5 uses procedure based coding? I wouldn’t have thought so. I have compiled the app as XML.DLL in C6, put it in my C5 application folder, created a LIB file, added it to the project. The app compiles but when I run the app, it can’t find XML.DLL - ‘unable to locate component’ in the error title.

Any pointers?

FYI, I need to provide some XML functionality - at this stage simply read & present an XML file to the user and load a queue with data from an XML file. Should be simple enough, but I’m wondering if I’ve bitten off more than I can chew attempting it in ABC - it is a very different approach.

Cheers.

Andrew.


#2

Hmm. New day, new eyes.

I changed the project properties/properties to Build a Release system (for the C6 app) and used the generated C6 lib instead of creating one using the C5 libmaker and I can get my application to execute, however…

as soon as I try to run the procedure in the C6 dll, the window closes. Can’t even get a message out of it.

I am at a loss. Any advice appreciated.


#3

The crashing seems to be something to do with parameter passing.

Calling a procedure without parameters works, passing a string doesn’t. Very odd.

Cheers


#4

Do not waste your time.


#5

Yep, got a similar feeling from the SV newsgroup.

Something along the lines of RTL having same function names etc etc, getting confused, threading models etc.

Their suggesting I create an EXE and pass a couple of parameters to it instead.