>
> To use the poplog DLL via the OLE(2)/(D)COM(+) collection of names for a
> technology, you would need to have a type library to describe the
> interface supported by the DLL.
I am initially interested in using the provided DLL, which is used by the
pop11.exe. I am digging into the sources to try to figure out how pop11.exe
utilizes the DLL but my lack of C knowledge is catching up with me.
> Some preamble. The DLL is linked together from the poplog.res resource
> file and the "src", "vedsrc" and "winsrc" wlb libraries. The wlb
> libraries are built by using pgcomp(.bat) on the various source
> directories. The pgcomp routine uses the statically linked version of
> Poplog (corepop) defined by the code in %usepop%\pop\extern.
>
> The system is built with an installation of Microsoft C++ and Microsoft
> Assembler.
>
> The build process generates a command such as the following to make the
> DLL. (Note that <sandbox path> is the path to your sandbox directory
> containing the code exported from the CVS).
Perhaps I don't have the latest and greatest sources. I recently downloaded
v15.53 from http://www.cs.bham.ac.uk/research/poplog/freepoplog.html, which
included some sources. But, is there another location with more current
files or a public CVS? If so, where at?
>
> corepop +<sandbox path>\poplog\pop\pop\poplink -p -e
> $-Sys$-Poplog_Main -s ( $- $-lisp ) -ident 0 -o poplog.dll -lf (
> /NODEFAULTLIB /INCREM
> ENTAL:NO /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll
> -base:0x800000 -def:..\extern\src\poplog.def ) -lo ( poplog.res )
> ..\obj\winsrc.wlb -ex
> ( ) ..\obj\vedsrc.wlb -ex ( ) ..\obj\src.wlb -ex ( )
>
> Normally, you could adapt this process to generate a suitable list of
> exports automatically. Poplog has no mechanism I know of to label
> functions to export via a type library, and labelling the C functions in
> the extern code won't help because they only feature in the statically
> linked corepop.exe.
>
> So, you will need to create a suitable type library by hand. Having said
> this, there is a poplog.def (module definition) file in
> %usepop%\pop\extern\src that conveniently tells you what functions are
> exported.
I had found poplog.def and while this provides the names of the functions
exported, it does not reveal the number or types for the arguments used by
those functions nor can I find any other information describing the usage of
the functions.
I have also located the functions in the c source and header files; however,
I am still unable to decipher the function's arguments and types -- again
probably because of my lack of c knowledge.
I appreciate you time.
|