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, dxSkinBasic, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue; 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_ClothInfo = 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_ClothInfo: TDataLink_ClothInfo; CriticalSection: TCriticalSection; {�����ٽ�} implementation {$R *.dfm} procedure TMyThread.Execute; begin FreeOnTerminate := True; CriticalSection.Enter; try with DataLink_ClothInfo.AdoDataLink do begin close; sql.Clear; sql.Add('select getdate()'); open; end; except try with DataLink_ClothInfo.ADOLink do begin Connected := false; ConnectionString := DConString; LoginPrompt := false; Connected := true; end; except end; end; CriticalSection.Leave; end; procedure TDataLink_ClothInfo.DataModuleDestroy(Sender: TObject); begin CriticalSection.Free; DataLink_ClothInfo := nil; end; procedure TDataLink_ClothInfo.Timer_linkTimer(Sender: TObject); begin TMyThread.Create(False); end; procedure TDataLink_ClothInfo.DataModuleCreate(Sender: TObject); begin CriticalSection := TCriticalSection.Create; end; end.