线程声明
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;
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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货