[Back to UNITINFO SWAG index] [Back to Main SWAG index] [Original]

    {
    I am wondering if it is possible to pass a Record Type and File Type to
    a Procedure in a Unit where the Record or File Type has not
    been declared.  if it can be done I will need a little sample
    to get me going.  Thanks in advance.

    Yes, as long as the Unit With the Procedure Uses the Unit in which the Types
    are declared.  That's why it's frequently a good idea to move all your global
    Types and Variables to their own little Unit:
    }

    Unit Globals;

    Interface

    Type
      tMyRecord = Record
        Name,Address : String[40];
        Zip : String[5];
        { etc.}
      end;

    Implementation

    end.  { of Unit Globals }

    Unit LowLevels;

    Interface

    Uses Globals;

    Procedure GetMyRecord(Var ThisRecord : tMyRecord);

    Implementation

    Procedure GetMyRecord(Var ThisRecord : tMyRecord); begin
      { whatever }
    end;

    end. { of Unit LowLevels }

    Program  WhatEver;

    Uses Globals, LowLevels;

    Var
      MainRecord : tMyRecord;
      { depending on a lot of things, you might want to declare this
        Variable in the Unit Globals, rather than here }

    begin
      GetMyRecord(MainRecord);
    end.

[Back to UNITINFO SWAG index] [Back to Main SWAG index] [Original]