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; implementation uses U_DataLink,U_GYSList,U_SXCKList,U_SXCKOutList,U_SXKCList,U_PBCKChkList,U_SXCKNewList,U_PBCKKCList ,U_WJGMDList,U_WJGCKOutList,U_WJGCKKCList,U_DJBRKList,U_DJBCKOutList,U_DJBCKKCList,U_ShaRKList, U_ShaOutList,U_ShaKCList,U_TZBCKList,U_TZBRKList,U_TZBKCList,U_DJBCRKList,U_YZRKList,U_SXRKCKList, U_DJQTKCList,U_DJQTRKList,U_DJQTCKList; ///////////////////////////////////////////////////////////////// // 功能说明:取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:=PChar(GName); DCode:=PChar(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:='124.91.217.13,7781'; //202.96.107.70,7781 haoyuedata server:='101.132.179.122,7781'; // 122.224.36.142,7781 dtbase:='beiqidata'; //jinzhicaidata // dtbase:='LZ130506'; user:='sa'; pswd:='rightsoft@123'; 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; // // DName:='周高祥'; //DParameters1:='高权限'; //高权限 //DParameters3:='1'; if not ConnData() then begin result:=0; exit; end; // 定义窗口类型 、状态 if WinStyle=0 then begin mstyle := fsMDIChild ; mstate := wsMaximized ; mborderstyle := bsSizeable; end else begin mstyle := fsNormal ; mstate := wsNormal ; mborderstyle := bsSizeable; end; ///////////////////// //调用子模块窗口 case FormId of -1: //纱线入库 begin if frmShaRKList=nil then begin frmShaRKList:= TfrmShaRKList.Create(application.MainForm); with frmShaRKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmShaRKList.BringToFront; //句柄 mNewHandle:=frmShaRKList.Handle; end ; -2: //纱线出库 begin if frmShaOutList=nil then begin frmShaOutList:= TfrmShaOutList.Create(application.MainForm); with frmShaOutList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmShaOutList.BringToFront; //句柄 mNewHandle:=frmShaOutList.Handle; end ; -3: //纱线库存 begin if frmShaKCList=nil then begin frmShaKCList:= TfrmShaKCList.Create(application.MainForm); with frmShaKCList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmShaKCList.BringToFront; //句柄 mNewHandle:=frmShaKCList.Handle; end ; 1: //坯布入库 begin if frmSXCKNewList=nil then begin frmSXCKNewList:= TfrmSXCKNewList.Create(application.MainForm); with frmSXCKNewList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmSXCKNewList.BringToFront; //句柄 mNewHandle:=frmSXCKNewList.Handle; end ; 2: //坯布出库 begin if frmSXCKOutList=nil then begin frmSXCKOutList:= TfrmSXCKOutList.Create(application.MainForm); with frmSXCKOutList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmSXCKOutList.BringToFront; //句柄 mNewHandle:=frmSXCKOutList.Handle; end ; 3: //坯布库存 begin if frmPBCKKCList=nil then begin frmPBCKKCList:= TfrmPBCKKCList.Create(application.MainForm); with frmPBCKKCList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmPBCKKCList.BringToFront; //句柄 mNewHandle:=frmPBCKKCList.Handle; end ; 4: begin if frmSXRKCKList=nil then begin frmSXRKCKList:= TfrmSXRKCKList.Create(application.MainForm); with frmSXRKCKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmSXRKCKList.BringToFront; //句柄 mNewHandle:=frmSXRKCKList.Handle; end ; 5: //外加工入库 begin if frmWJGMDList=nil then begin frmWJGMDList:= TfrmWJGMDList.Create(application.MainForm); with frmWJGMDList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmWJGMDList.BringToFront; //句柄 mNewHandle:=frmWJGMDList.Handle; end ; 6: //外加工出库 begin if frmWJGCKOutList=nil then begin frmWJGCKOutList:= TfrmWJGCKOutList.Create(application.MainForm); with frmWJGCKOutList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmWJGCKOutList.BringToFront; //句柄 mNewHandle:=frmWJGCKOutList.Handle; end ; 7: //外加工库存 begin if frmWJGCKKCList=nil then begin frmWJGCKKCList:= TfrmWJGCKKCList.Create(application.MainForm); with frmWJGCKKCList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmWJGCKKCList.BringToFront; //句柄 mNewHandle:=frmWJGCKKCList.Handle; end ; 8: //待检布入库列表 begin if frmDJBRKList=nil then begin frmDJBRKList:= TfrmDJBRKList.Create(application.MainForm); with frmDJBRKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmDJBRKList.BringToFront; //句柄 mNewHandle:=frmDJBRKList.Handle; end ; 9: //待检布出库列表 begin if frmDJBCKOutList=nil then begin frmDJBCKOutList:= TfrmDJBCKOutList.Create(application.MainForm); with frmDJBCKOutList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmDJBCKOutList.BringToFront; //句柄 mNewHandle:=frmDJBCKOutList.Handle; end ; 10: //待检布库存列表 begin if frmDJBCKKCList=nil then begin frmDJBCKKCList:= TfrmDJBCKKCList.Create(application.MainForm); with frmDJBCKKCList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmDJBCKKCList.BringToFront; //句柄 mNewHandle:=frmDJBCKKCList.Handle; end ; 11: //头子布入库列表 begin if frmTZBRKList=nil then begin frmTZBRKList:= TfrmTZBRKList.Create(application.MainForm); with frmTZBRKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmTZBRKList.BringToFront; //句柄 mNewHandle:=frmTZBRKList.Handle; end ; 12: //头子布出库列表 begin if frmTZBCKList=nil then begin frmTZBCKList:= TfrmTZBCKList.Create(application.MainForm); with frmTZBCKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmTZBCKList.BringToFront; //句柄 mNewHandle:=frmTZBCKList.Handle; end; 13: //头子布库存列表 begin if frmTZBKCList=nil then begin frmTZBKCList:= TfrmTZBKCList.Create(application.MainForm); with frmTZBKCList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmTZBKCList.BringToFront; //句柄 mNewHandle:=frmTZBKCList.Handle; end; 14: begin if frmDJBCRKList=nil then begin frmDJBCRKList:= TfrmDJBCRKList.Create(application.MainForm); with frmDJBCRKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmDJBCRKList.BringToFront; //句柄 mNewHandle:=frmDJBCRKList.Handle; end; 15: begin if frmYZRKList=nil then begin frmYZRKList:= TfrmYZRKList.Create(application.MainForm); with frmYZRKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmYZRKList.BringToFront; //句柄 mNewHandle:=frmYZRKList.Handle; end; 16: begin if frmDJQTRKList=nil then begin frmDJQTRKList:= TfrmDJQTRKList.Create(application.MainForm); with frmDJQTRKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmDJQTRKList.BringToFront; //句柄 mNewHandle:=frmDJQTRKList.Handle; end; 17: begin if frmDJQTCKList=nil then begin frmDJQTCKList:= TfrmDJQTCKList.Create(application.MainForm); with frmDJQTCKList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmDJQTCKList.BringToFront; //句柄 mNewHandle:=frmDJQTCKList.Handle; end; 18: begin if frmDJQTKCList=nil then begin frmDJQTKCList:= TfrmDJQTKCList.Create(application.MainForm); with frmDJQTKCList do begin caption:=Trim(Title); FormStyle := mstyle ; windowState := mstate ; BorderStyle := mborderstyle; //show; end; end else frmDJQTKCList.BringToFront; //句柄 mNewHandle:=frmDJQTKCList.Handle; end; end ; // end case Result:= mnewHandle; // NewDllApp:=Application ; end; //=========================================================== //建立数据库连接池 //=========================================================== function ConnData():Boolean; begin if not Assigned(DataLink_PBMDDJ) then DataLink_PBMDDJ:=TDataLink_PBMDDJ.Create(Application); Try with DataLink_PBMDDJ.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_PBMDDJ.Free; application:=NewDllApp; dxUnitsLoader.Finalize; end.