How to use DLL in client project 
Author Message
 How to use DLL in client project

I have a project DDD which makes library DDD with exported module DDD which
exports a class <dll-class>.
I think I've figured out that these .mkf and .def files that are produced in
the LIB folder under the DDD project folder are the key to allowing another
library to import from CCC without providing the full source to DDD.

Where do I put these files such that "use DDD;" does not cause an open-file
dialog to display complaining about a missing project DDD?

I was able to successfully use the DDD library, but I did it by adding the
DDD project as a subproject of the client library.  This recompiled the DDD
library.  This is not what I want.  The whole point (I thought) was to allow
the client library to use the DDD library sans source.

Can anyone point me in the right direction?

Thanks,
Michael G.



Fri, 02 Nov 2001 03:00:00 GMT  
 How to use DLL in client project

Quote:

> Where do I put these files such that "use DDD;" does not cause an open-file
> dialog to display complaining about a missing project DDD?

I got this working by copying the .ddb file into the databases
subdirectory of the dylan installation and the .mkf and .def file in
the lib subdirectory of the dylan installation. I then went into the
'Sources/registry/x86-win32' subdirectory and created a file with the
name of my library (see the other files there for examples). The
contents of this file should be something like:

abstract://dylan/mydir/mylib.lid

The //dylan points to the 'sources' subdirectory under the HD
installation. You can change this to point to other places but it
should go the the .lid file for your project. Inside the directory
pointed to by the above entry I had a cut down .lid file and the
library.dylan file. The .lid file had entries similar to the .lid
files that exist in the source subdirecty that ships with HD.

Basically I copied what existed for one of the win32- sources and
worked from there. I can't remember if I copied the .DLL into the
redistributable directory - I think I may have.

Anyway, doing all the above allowed me to create a project which had a
'use my-lib'. Compiling this project automatically picked up the
library from the registry and it did not prompt me to locate it or try
to recompile it.

I worked this out by installing the library pack from the HD site for
the personal edition and seeing what files it installed/changed.

Hope this helps. Let me know if you need more info to get it working.

Chris.
--
http://www.cnd.co.nz/dylan



Fri, 02 Nov 2001 03:00:00 GMT  
 How to use DLL in client project

Quote:
> > Where do I put these files such that "use DDD;" does not cause an
> > open-file dialog to display complaining about a missing project
> > DDD?

> I got this working by copying the .ddb file into the databases
> subdirectory of the dylan installation and the .mkf and .def file in
> the lib subdirectory of the dylan installation.

[...complicated scheme removed...]

That is incredibly resourceful of you, Chris, this is indeed the only
way you can do this with Harlequin Dylan 1.x. Unfortuntately providing
a standard way for sharing sourceless projects was one of the features
we had to drop in order to get things released on time.

We hope to provide a proper mechanism for our next release. The model
should be that you would use "Make Release" on the DLL project to
create a directory with everything required, and then to use this in
another project you would insert the .ddb file from this directory
into the new project.

Sorry not to be more helpful.

Andy

----------

Harlequin Inc.



Fri, 02 Nov 2001 03:00:00 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. client / server / screensaver: how to do a small-scale SETI@home project

2. need ldap client lib for project

3. tcldav client project

4. C4a Making Clarion DLL using outside DLL's

5. Using a Fortran DLL inside another Fortran DLL

6. interface tcl to mingw dll which uses a msvc dll

7. Calling DLLs from TCL using ffidl or dll - please help

8. Multiple GNAT DLLs for a C++ Client?

9. Summary of MySQL client code a DLL

10. Smalltalk/V Project Browser VPROJ.DLL

11. Project file and DLL

12. Project file and DLL

 

 
Powered by phpBB® Forum Software