DLL, import unit, interfacing problems: help!

I want to put some utility code into a DLL, but things aren't working
quite as expected.  When I compile these, I get error 167 Can't export
synbol in the exports clause of the dautlrpt.dpr file.  When I fully
qualify the symbol (da_rpt.ShowRptList) the error is 3 unknown id.

If I move the definition of ShowRptList into dautlrpt.dpr I get a good
build and the code works from my test project.  This leads me to
believe I'm doing something wrong with my interfacing, probably in
da_rpt.pas.  I've tried placing things like:

  procedure ShowRptList;

in da_rpt's interface part but that's not helping.

Please help me understand:
1. What needs to be done to dautlrpt.dpr and da_rpt.pas to make procs
   in da_rpt.pas be visible and exportable;
2. What role an import unit (described in the *Language Guide*,
   p131ff, would play in the DLL project, if any.  Borland suggests
   using an import unit to define procs, types, etc; this unit then
   gets USED in projects that call stuff in the DLL.

Here are the files:

---
{dautlrpt.dpr}
library dautlrpt;

uses
    da_rpt;

exports
    da_rpt.ShowRptList; {this form gets error 3 Unknown ID}
    ShowRptList; {this form gets error 167 Can't export symbol}

begin

end.

---
unit Da_rpt;

interface

uses
    Forms,Darptsel;

implementation

procedure ShowRptList;export;
begin
    frmReports:=TfrmReports.Create(Application);
    frmReports.Show;
end;

end.

Then there are darptsel (the form and its unit) and an import unit
file:

unit Da_rptiu;

interface

procedure ShowRptList;

implementation

procedure ShowRptList;external 'dautlrpt';

end.

--
Frank Burleigh 812-333-7082 (home); 812-855-9170 (work)
School of Law, Indiana University, Bloomington, IN  47405
Internet burle...@bronze.ucs.indiana.edu; CIS 72730,1017