Contents - Index


DLL File Skeleton in DELPHI

 

library MYEXTRNLS

{­This DLL file contains two DLF functions and one DLP procedure}

 

uses

  SysUtils;

 

const  doExample = -1;

 

{­***********************************************************************}

 

type

  CharString = array[0..5] of char;

  ParamRecPtr = ^ParamRec;

  ParamRec = record

               Value : double;

               Next  : ParamRecPtr;

   end;

 

{­***********************************************************************}

{­There are 2 functions; names are separated with commas}

procedure DLFNames(Names : PChar); export; stdcall;

begin

  StrCopy(Names,'myFunc1, myFunc2');

end;

 

{­***********************************************************************}

{­There is one DLP procedure}

procedure DLPNames(Names : PChar); export; stdcall;

begin

  StrCopy(Names,'myDLP');

end;

 

{­***********************************************************************}

{­no FDL procedures so return a null string}

procedure FDLNames(Names : PChar); export; stdcall;

begin

  StrCopy(Names,'');

end;

 

{­***********************************************************************}

function myFunc1 (var CString: CharString; var Mode: integer;

       Inputs: ParamRecPtr): double; export; stdCall;

begin

    {­Code for myFunc1}

    ...

    ...

end; {­myFunc1}

 

{­***********************************************************************}

function myFunc2 (var CString: CharString; var Mode: integer;

       Inputs: ParamRecPtr): double; export; stdCall;

begin

    {­Code for myFunc2}

    ...

    ...

end; {­myFunc2}

 

procedure myDLP(var CString:CharString; var Mode:integer;

        Inputs,Outputs:ParamRecPtr); export; stdCall;

begin

    {­Code for myDLP}

    ...

    ...

end; {­myDLP}

 

{­***********************************************************************}

exports

   DLFNames,

   DLPNames,

   FDLNames,

   myFunc1,

   myFunc2,

   myDLP;

 

begin

 

end.

 

Dynamic Link Libraries