Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to use DLL in client project

0 views
Skip to first unread message

Michael G.

unread,
May 17, 1999, 3:00:00 AM5/17/99
to
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.


Chris Double

unread,
May 17, 1999, 3:00:00 AM5/17/99
to
"Michael G." <mic...@R.E.M.O.V.E.pickles.org> writes:

>
> 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

Andy Armstrong

unread,
May 17, 1999, 3:00:00 AM5/17/99
to

> > 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

----------
Andy Armstrong (and...@harlequin.com),
Harlequin Inc.


0 new messages