📄 ottthread.pas
字号:
{
*******************************************************************************
* 本控件由stuwe个人开发,其中部分加密代码来源于网络,如侵犯了您的权益,请联系我 *
* 本控件包包括ottEnter, ottDBGrid, ottEdit, ottDBEdit控件 *
* 该控件请勿用于商业用途,如需商业使用请与本人联系 *
* 本人联系方式: QQ : 31926588 *
* MSN : ottsoft@hotmail.com *
* EMail : stuwe@163.com *
* 以下为控件用线程取数的代码 *
*******************************************************************************
}
unit ottThread;
interface
uses
Classes, ADODB, ActiveX, SysUtils;
type
TInitThread = class(TThread)
private
adc: ^TADOConnection;
adq: TADOQuery;
sql: WideString;
pDataPack: ^_RecordSet;
protected
procedure Execute; override;
procedure GetDataPack;
public
constructor Create(conn: TADOConnection;const sqlstr: WideString;
var DataPack: _RecordSet);
end;
implementation
{ TInitThread }
constructor TInitThread.Create(conn: TADOConnection;const sqlstr: WideString;
var DataPack: _RecordSet);
begin
adc := @conn;
sql := sqlstr;
pDataPack := @DataPack;
FreeOnTerminate := false;
adq := TADOQuery.Create(nil);
adq.Connection := self.adc^;
inherited Create(false);
end;
procedure TInitThread.Execute;
begin
inherited;
CoInitialize(nil);
GetDataPack;
CoUninitialize;
end;
procedure TInitThread.GetDataPack;
begin
try
adq.Close;
adq.SQL.Clear;
adq.SQL.Add(self.sql);
try
while (stConnecting in adq.Connection.State) do
begin
sleep(200);
end;
adq.Open;
pDataPack^ := adq.RecordSet;
except
end;
finally
Terminate;
end;
end;
end.
//OttLib end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -