unit U_GetDllForm; interface uses Windows, Messages, forms, OleCtnrs, DateUtils, SysUtils, ADODB,IniFiles, dxcore,activeX; function GetDllForm(App:Tapplication; FormH:hwnd; FormID:integer; Language: integer; WinStyle:integer; GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;export;stdcall; function ConnData():Boolean; Function GetsysParam(muserId:pchar;fparam1:pchar):Boolean; implementation uses U_DataLink,U_Fun,U_iniParam,U_MJManageNewFDNew,U_ProductOrderList,U_ProductOrderAnPai,U_SetBanZu ,U_BangAdd,U_MJEdit,U_JYOrderCDOne,U_JYOrderCDMore,U_CpCkSaoMNewSel,U_CKProductBCPInList,U_ProductOrderLBNameSet11 ,U_CKProductBCPOutList,U_BanCpHCSaoM,U_CKProductBCPHCList,U_CKProductBCPKCList,U_FZCMain, U_CKProductBCPKCHZList,U_CpRkSaoMNew,U_ClothContractList,U_ClothContractListDH,U_ClothContractListLL, U_ClothContractKCList,U_ContractList,U_ProductOrderNewList,U_ClothContractListWJG,U_ClothPDInfoList, U_OrderJDList,U_ProductOrderAnPaiGQX,U_ClothHCList,U_ContractListNX,U_ClothContractListSX,U_ClothContractListDHSX ,U_ClothContractListLLSX,U_ClothContractListHZ,U_ProductOrderLBNameSet,U_ClothContractListDHSXQJG,U_ProductOrderNewList_JD, U_ProductOrderNewList_CY,U_HCList,U_OrderInPut_HYWT,U_ModulePromptList,U_ProductOrderNewList_FB,U_FanYangList,U_FanYangListHZ, U_CKProductRKHZList,U_CKProductCKHZList,U_CKJYList,U_ProductOrderLBNameSetFZ,U_Contract_Main,U_KHDYList,U_HuiruhuikuanCX,U_HuiruhGPIjiluCX, U_JYOrderCDOne_HZCX,U_ContractList_NX,U_XHList,U_XHList_ceshi1,U_GYSOrderCX,U_JYOrderCDOne_GDYJCX,U_KHTopList,U_CpRkSaoMNewCS; ///////////////////////////////////////////////////////////////// // 功能说明:取Dll中得窗体 // // 参数说明:App>>调用应用程序; // // FormH>>调用窗口句柄 ; // // FormID>>窗口号; // // Language>>语言种类; // // WinStyle>>窗口类型; // ///////////////////////////////////////////////////////////////// function GetDllForm(App:Tapplication; FormH:hwnd; FormID:integer; Language: integer; WinStyle:integer; GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; Parameters9:PChar;Parameters10:PChar; DataBaseStr:PChar):hwnd; var mnewHandle: hwnd; mstyle: TFormStyle; // 0:子窗口; 1:普通窗口 mstate: TWindowState; mborderstyle: TFormBorderStyle; begin mNewHandle:=0; DName:=GName; DCode:=GCode; DdataBase:=DataBase; DTitCaption:=Title; DParameters1:=Parameters1; DParameters2:=Parameters2; DParameters3:=Parameters3; DParameters4:=Parameters4; DParameters5:=Parameters5; DParameters6:=Parameters6; DParameters7:=Parameters7; DParameters8:=Parameters8; DParameters9:=Parameters9; DParameters10:=Parameters10; MainApplication:=App; DCurHandle:=FormH; IsDelphiLanguage:= Language; Application:=TApplication(App); DCurHandle:=0; //赋值链接字符串 SetLength(server, 255); SetLength(dtbase, 255); SetLength(user, 255); SetLength(pswd, 255); server:='101.132.146.12,7781'; //server:='.'; dtbase:='shengfangData'; user:='shengfangsa'; pswd:='rightsoft@4400'; DConString := 'Provider=SQLOLEDB.1;Password='+pswd+';Persist Security Info=True;User ID=' +user+';Initial Catalog='+dtbase+';Data Source='+server; IF trim(DataBaseStr)<>''then DConString := DataBaseStr; // DParameters1:='高权限'; //DCode:='002'; //DName:=''; // DParameters2:='管理'; //DParameters2:='次品'; //database:='高权限'; if not ConnData() then begin result:=0; exit; end; if IsINIFile() then ReadINIFile() else WriteINIFile ; GetsysParam('',''); // 定义窗口类型 、状态 if WinStyle=0 then begin mstyle := fsMDIChild ; mstate := wsMaximized ; mborderstyle := bsSizeable; end else begin mstyle := fsNormal ; mstate := wsNormal ; mborderstyle := bsSizeable; end; //////////////////// //调用子模块窗口 case FormId of 0: //订单合同(外销) begin if frmContractList=nil then begin frmContractList:= TfrmContractList.Create(application.MainForm); with frmContractList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmContractList.BringToFront; //句柄 mNewHandle:=frmContractList.Handle; end ; 1: //订单合同(内销) begin if frmContractListNX=nil then begin frmContractListNX:= TfrmContractListNX.Create(application.MainForm); with frmContractListNX do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmContractListNX.BringToFront; //句柄 mNewHandle:=frmContractListNX.Handle; end ; 201: //生产指示单 begin if frmProductOrderNewList=nil then begin frmProductOrderNewList:= TfrmProductOrderNewList.Create(application.MainForm); with frmProductOrderNewList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmProductOrderNewList.BringToFront; //句柄 mNewHandle:=frmProductOrderNewList.Handle; end; 202: //色卡/SO单 begin if frmKHDYList=nil then begin frmKHDYList:= TfrmKHDYList.Create(application.MainForm); with frmKHDYList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmKHDYList.BringToFront; //句柄 mNewHandle:=frmKHDYList.Handle; end; 11: //标签皮重系数设置 begin if frmProductOrderLBNameSet=nil then begin frmProductOrderLBNameSet:= TfrmProductOrderLBNameSet.Create(application.MainForm); with frmProductOrderLBNameSet do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmProductOrderLBNameSet.BringToFront; //句柄 mNewHandle:=frmProductOrderLBNameSet.Handle; end ; 2: // 成品检验 begin if frmMJManageNewFDNewSF=nil then begin frmMJManageNewFDNewSF:= TfrmMJManageNewFDNewSF.Create(application.MainForm); with frmMJManageNewFDNewSF do begin fmanage:=Trim(database); caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmMJManageNewFDNewSF.BringToFront; //句柄 mNewHandle:=frmMJManageNewFDNewSF.Handle; end ; 12: //布匹管理 begin if frmMJEdit=nil then begin frmMJEdit:= TfrmMJEdit.Create(application.MainForm); with frmMJEdit do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmMJEdit.BringToFront; //句柄 mNewHandle:=frmMJEdit.Handle; end ; 19: //检验报告 begin if frmJYOrderCDOne=nil then begin frmJYOrderCDOne:= TfrmJYOrderCDOne.Create(application.MainForm); with frmJYOrderCDOne do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmJYOrderCDOne.BringToFront; //句柄 mNewHandle:=frmJYOrderCDOne.Handle; end ; 190: //检验汇总查询 begin if frmJYOrderCDOne_HZCX=nil then begin frmJYOrderCDOne_HZCX:= TfrmJYOrderCDOne_HZCX.Create(application.MainForm); with frmJYOrderCDOne_HZCX do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmJYOrderCDOne_HZCX.BringToFront; //句柄 mNewHandle:=frmJYOrderCDOne_HZCX.Handle; end ; 13: //入库扫描 begin if frmCpRkSaoMNew=nil then begin frmCpRkSaoMNew:= TfrmCpRkSaoMNew.Create(application.MainForm); with frmCpRkSaoMNew do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCpRkSaoMNew.BringToFront; //句柄 mNewHandle:=frmCpRkSaoMNew.Handle; end ; 14: //出库扫描 begin if frmCpCkSaoMNewSel=nil then begin frmCpCkSaoMNewSel:= TfrmCpCkSaoMNewSel.Create(application.MainForm); with frmCpCkSaoMNewSel do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCpCkSaoMNewSel.BringToFront; //句柄 mNewHandle:=frmCpCkSaoMNewSel.Handle; end ; 15: //成品入库列表 begin if frmCKProductBCPInList=nil then begin frmCKProductBCPInList:= TfrmCKProductBCPInList.Create(application.MainForm); with frmCKProductBCPInList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCKProductBCPInList.BringToFront; //句柄 mNewHandle:=frmCKProductBCPInList.Handle; end ; 16: //成品出库列表 begin if frmCKProductBCPOutList=nil then begin frmCKProductBCPOutList:= TfrmCKProductBCPOutList.Create(application.MainForm); with frmCKProductBCPOutList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCKProductBCPOutList.BringToFront; //句柄 mNewHandle:=frmCKProductBCPOutList.Handle; end ; 17: //库存列表 begin if frmCKProductBCPKCList=nil then begin frmCKProductBCPKCList:= TfrmCKProductBCPKCList.Create(application.MainForm); with frmCKProductBCPKCList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCKProductBCPKCList.BringToFront; //句柄 mNewHandle:=frmCKProductBCPKCList.Handle; end ; 30: //入库汇总 begin if frmCKProductRKHZList=nil then begin frmCKProductRKHZList:= TfrmCKProductRKHZList.Create(application.MainForm); with frmCKProductRKHZList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCKProductRKHZList.BringToFront; //句柄 mNewHandle:=frmCKProductRKHZList.Handle; end ; 31: //出库汇总 begin if frmCKProductCKHZList=nil then begin frmCKProductCKHZList:= TfrmCKProductCKHZList.Create(application.MainForm); with frmCKProductCKHZList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCKProductCKHZList.BringToFront; //句柄 mNewHandle:=frmCKProductCKHZList.Handle; end ; 32: //出库汇总作废 begin if frmCKJYList=nil then begin frmCKJYList:= TfrmCKJYList.Create(application.MainForm); with frmCKJYList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCKJYList.BringToFront; //句柄 mNewHandle:=frmCKJYList.Handle; end; 18: //库存汇总列表 begin if frmCKProductBCPKCHZList=nil then begin frmCKProductBCPKCHZList:= TfrmCKProductBCPKCHZList.Create(application.MainForm); with frmCKProductBCPKCHZList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmCKProductBCPKCHZList.BringToFront; //句柄 mNewHandle:=frmCKProductBCPKCHZList.Handle; end ; 23: //生产指示单进度查询 begin if frmProductOrderNewList_JD=nil then begin frmProductOrderNewList_JD:= TfrmProductOrderNewList_JD.Create(application.MainForm); with frmProductOrderNewList_JD do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmProductOrderNewList_JD.BringToFront; //句柄 mNewHandle:=frmProductOrderNewList_JD.Handle; end ; 204: //供应商损耗查询 begin if frmGYSOrderCX=nil then begin frmGYSOrderCX:= TfrmGYSOrderCX.Create(application.MainForm); with frmGYSOrderCX do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmGYSOrderCX.BringToFront; //句柄 mNewHandle:=frmGYSOrderCX.Handle; end; 901: //汇入汇款记录查询 begin if frmHuiruhuikuanCX=nil then begin frmHuiruhuikuanCX:= TfrmHuiruhuikuanCX.Create(application.MainForm); with frmHuiruhuikuanCX do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmHuiruhuikuanCX.BringToFront; //句柄 mNewHandle:=frmHuiruhuikuanCX.Handle; end; 902: //汇入GPI记录查询 begin if frmHuiruhGPIjiluCX=nil then begin frmHuiruhGPIjiluCX:= TfrmHuiruhGPIjiluCX.Create(application.MainForm); with frmHuiruhGPIjiluCX do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmHuiruhGPIjiluCX.BringToFront; //句柄 mNewHandle:=frmHuiruhGPIjiluCX.Handle; end; 191: //跟单业绩查询 begin if frmJYOrderCDOne_GDYJCX=nil then begin frmJYOrderCDOne_GDYJCX:= TfrmJYOrderCDOne_GDYJCX.Create(application.MainForm); with frmJYOrderCDOne_GDYJCX do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmJYOrderCDOne_GDYJCX.BringToFront; //句柄 mNewHandle:=frmJYOrderCDOne_GDYJCX.Handle; end ; 33: //订单销量排行榜 begin if frmKHTopList=nil then begin frmKHTopList:= TfrmKHTopList.Create(application.MainForm); with frmKHTopList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmKHTopList.BringToFront; //句柄 mNewHandle:=frmKHTopList.Handle; end ; 61: //提示窗口 begin if frmModulePromptList=nil then begin frmModulePromptList:= TfrmModulePromptList.Create(application.MainForm); with frmModulePromptList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmModulePromptList.BringToFront; //句柄 mNewHandle:=frmModulePromptList.Handle; end ; end ; // end case Result:= mnewHandle; // NewDllApp:=Application ; end; Function GetsysParam(muserId:pchar;fparam1:pchar):Boolean; begin result:=true; ////////////////////////////// shortDateFormat:='yyyy-MM-dd'; //服务器日期 with DataLink_TradeManage.AdoDataLink do begin close; sql.Clear; sql.Add('select getDate()as dt'); open; DServerDate:=fieldByName('dt').AsDatetime; end; result:=true; end; //=========================================================== //建立数据库连接池 //=========================================================== function ConnData():Boolean; begin if not Assigned(DataLink_TradeManage) then DataLink_TradeManage:=TDataLink_TradeManage.Create(Application); Try with DataLink_TradeManage.ADOLink do begin //if not Connected then begin Connected:=false; ConnectionString:=DConString; LoginPrompt:=false; Connected:=true; end; end; Result:=true; Except Result:=false; application.MessageBox('数据库连接失败!','错误',mb_Ok+ MB_ICONERROR); end; end; initialization CoInitialize(nil); dxUnitsLoader.Initialize; finalization DataLink_TradeManage.Free; application:=NewDllApp; dxUnitsLoader.Finalize; end.