128 lines
3.2 KiB
ObjectPascal
128 lines
3.2 KiB
ObjectPascal
unit U_DataLink;
|
|
|
|
interface
|
|
|
|
uses
|
|
SysUtils, Classes, DB, ADODB, ImgList, Controls, cxStyles, cxLookAndFeels,
|
|
Windows, Messages, forms, OleCtnrs, DateUtils, ExtCtrls, SyncObjs, cxClasses,
|
|
dxSkinsCore, dxSkinsDefaultPainters, System.ImageList;
|
|
|
|
type
|
|
TMyThread = class(TThread)
|
|
protected
|
|
procedure Execute; override;
|
|
end;
|
|
|
|
var
|
|
DConString: string; {全局连接字符串}
|
|
server, dtbase, user, pswd: string; {数据库连接参数}
|
|
DCurHandle: hwnd; //当前窗体句柄
|
|
DName: string; //#用户名#//
|
|
DCode: string; //#用户编号#//
|
|
Ddatabase: string; //#数据库名称#//
|
|
DTitCaption: string; //#主窗体名称#//
|
|
PicSvr: string;
|
|
fDllFileName: string;
|
|
DParameters1, DParameters2, DParameters3, DParameters4, DParameters5: string; // 外部参数;
|
|
DParameters6, DParameters7, DParameters8, DParameters9, DParameters10: string; //外部参数;
|
|
OldDllApp: Tapplication; //保存原有句柄
|
|
NewDllApp: Tapplication; //当前句柄
|
|
MainApplication: Tapplication;
|
|
DFormCode: integer; //当前窗口号
|
|
IsDelphiLanguage: integer;
|
|
DServerDate: TdateTime; //服务器时间
|
|
DCompany: string; //公司
|
|
IpCall: Integer;
|
|
IpWLDZStr: string;
|
|
UserDataFlag: string;
|
|
|
|
type
|
|
TDataLink_YEInsp = class(TDataModule)
|
|
AdoDataLink: TADOQuery;
|
|
ADOLink: TADOConnection;
|
|
ThreeImgList: TImageList;
|
|
ThreeLookAndFeelCol: TcxLookAndFeelController;
|
|
ThreeColorBase: TcxStyleRepository;
|
|
SHuangSe: TcxStyle;
|
|
SkyBlue: TcxStyle;
|
|
Default: TcxStyle;
|
|
QHuangSe: TcxStyle;
|
|
Red: TcxStyle;
|
|
FontBlue: TcxStyle;
|
|
TextSHuangSe: TcxStyle;
|
|
FonePurple: TcxStyle;
|
|
FoneClMaroon: TcxStyle;
|
|
FoneRed: TcxStyle;
|
|
RowColor: TcxStyle;
|
|
handBlack: TcxStyle;
|
|
cxBlue: TcxStyle;
|
|
SHuangSeCu: TcxStyle;
|
|
Timer_link: TTimer;
|
|
ImageList_new32: TImageList;
|
|
procedure DataModuleDestroy(Sender: TObject);
|
|
procedure Timer_linkTimer(Sender: TObject);
|
|
procedure DataModuleCreate(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
TMakebar = procedure(ucData: pchar; nDataLen: integer; nErrLevel: integer; nMask: integer; nBarEdition: integer; szBmpFileName: pchar; nScale: integer); stdcall;
|
|
|
|
TMixtext = procedure(szSrcBmpFileName: PChar; szDstBmpFileName: PChar; sztext: PChar; fontsize, txtheight, hmargin, vmargin, txtcntoneline: integer); stdcall;
|
|
|
|
var
|
|
DataLink_YEInsp: TDataLink_YEInsp;
|
|
CriticalSection: TCriticalSection; {声明临界}
|
|
|
|
implementation
|
|
{$R *.dfm}
|
|
|
|
procedure TMyThread.Execute;
|
|
begin
|
|
FreeOnTerminate := True;
|
|
CriticalSection.Enter;
|
|
try
|
|
with DataLink_YEInsp.AdoDataLink do
|
|
begin
|
|
close;
|
|
sql.Clear;
|
|
sql.Add('select getdate()');
|
|
open;
|
|
end;
|
|
except
|
|
try
|
|
with DataLink_YEInsp.ADOLink do
|
|
begin
|
|
Connected := false;
|
|
ConnectionString := DConString;
|
|
LoginPrompt := false;
|
|
Connected := true;
|
|
end;
|
|
except
|
|
|
|
end;
|
|
end;
|
|
CriticalSection.Leave;
|
|
end;
|
|
|
|
procedure TDataLink_YEInsp.DataModuleDestroy(Sender: TObject);
|
|
begin
|
|
CriticalSection.Free;
|
|
DataLink_YEInsp := nil;
|
|
end;
|
|
|
|
procedure TDataLink_YEInsp.Timer_linkTimer(Sender: TObject);
|
|
begin
|
|
TMyThread.Create(False);
|
|
end;
|
|
|
|
procedure TDataLink_YEInsp.DataModuleCreate(Sender: TObject);
|
|
begin
|
|
CriticalSection := TCriticalSection.Create;
|
|
end;
|
|
|
|
end.
|
|
|