title: Why should we use classes rather than records, or vice versa?
body: <p>I've been using Delphi for quite some time now, but rather than coming from a CS background I have learnt "on the job" - mostly from my Boss, and augmented by bits and pieces picked up from the web, users guides, examples, etc.</p>
  
  <p>Now my boss is old school, started programming using Pascal, and hasn't necessarily kept up-to-date with the latest changes to Delphi.  </p>
  
  <p>Just recently I've been wondering whether one of our core techniques is "wrong".</p>
  
  <p>Most of our applications interface with MySQL.  In general we will create a <code>record</code> with a structure to store data read from the DB,  and these records will be stored in a <code>TList</code>.  Generally we will have a unit that defines the various records that we have in an application, and the functions and procedures that seed and read the records.  We don't use <strong>record procedures</strong> such as outlined <a href="https://stackoverflow.com/questions/7413899/record-methods-and-const-parameters-in-delphi">here</a></p>
  
  <p>After reviewing some examples I've started wondering whether we'd be better off using <code>classes</code> rather than records, but I'm having difficulty finding strong guidance either way.</p>
  
  <p>The sort of thing that we are dealing with would be User information: Names, DOB, Events, Event Types.  Or Timesheet information: Hours, Jobs, etc...   </p>