线程声明
TDoBSDataThread = class(TThread)
  private
    FLockID: string;
    FBaseNO: Integer;
    FRecTime: TDateTime;
    ADOConn: TADOConnection;
    ADOStorProc: TADOStoredProc;
    procedure SetLockID(const Value: string);
    procedure SetBaseNO(const Value: Integer);
    procedure SetRecTime(const Value: TDateTime);
  public
    constructor Create(Suspended: Boolean);
    destructor Destroy; override;
    procedure Execute; override;
    procedure DoBSData(lockID: string;BaseNO: Integer;rectime: TDatetime);
    property LockID: string read FLockID write SetLockID;
    property BaseNO: integer read FBaseNO write SetBaseNO;
    property RecTime: TDateTime read FRecTime write SetRecTime;
  end;线程创建代码
constructor TDoBSDataThread.Create(Suspended: Boolean);
begin
  CoInitialize(nil);
  Inherited create(Suspended);
  ADOConn := TADOConnection.Create(nil);  //到这里就报内存错误,十分的不明白
  ADOConn.ConnectionString := frmconfiguration.Connstr;
  ADOConn.LoginPrompt := false;
  ADOConn.Open;
  ADOStorProc := TADOStoredProc.Create(nil);
  ADOStorProc.Connection := ADOConn;
  ADOStorProc.ProcedureName := 'pDoBSData';
  FreeOnTerminate := True;
end;