unit DataLayer; interface uses SysUtils,DB, ADODB,Funcu,Protocol,TypeDefU;type TDataLayer = classprivate conn:TAdoConnection;public constructor Create(); //构造函数 destructor Destroy();override;//析构函数end;implementation uses GlobalVar; //构造函数constructor TDataLayer.Create();begin conn := TAdoConnection.Create(nil); conn.ConnectionString := CONN_STR; conn.Open; inherited Create;end; //析构函数destructor TDataLayer.Destroy();begin inherited destroy(); conn.close(); FreeAndNil(conn); end; end. 在定义Destroy析构函数时一定要加上override,否则在调用Free过程释放的时候这个函数是不会自动执行的