422 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			422 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| 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_DJBRKHZList
 | ||
|   ,U_CbJdLr,U_JGList,U_SXCRKList,U_SXCKOutListDBCK;
 | ||
|        /////////////////////////////////////////////////////////////////
 | ||
|       //         功能说明:取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:='47.100.182.1,7781';
 | ||
|    dtbase:='guihuadata';
 | ||
|    user:='sa';
 | ||
| //   pswd:='rightsoft';
 | ||
|    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';
 | ||
|   // DParameters3:='柯桥仓库';
 | ||
|    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 frmCbJdLr=nil then
 | ||
|        begin
 | ||
|          frmCbJdLr:= TfrmCbJdLr.Create(application.MainForm);
 | ||
|          with frmCbJdLr do
 | ||
|          begin
 | ||
|            caption:=Trim(Title);
 | ||
|            FormStyle := mstyle ;
 | ||
|            windowState := mstate ;
 | ||
|            BorderStyle := mborderstyle;
 | ||
|            //show;
 | ||
|          end;
 | ||
|        end
 | ||
|        else
 | ||
|          frmCbJdLr.BringToFront;
 | ||
|        //句柄
 | ||
|        mNewHandle:=frmCbJdLr.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 ;
 | ||
|       21:  //坯布出库(调拨出库)
 | ||
|      begin
 | ||
|        if frmSXCKOutListDBCK=nil then
 | ||
|        begin
 | ||
|          frmSXCKOutListDBCK:= TfrmSXCKOutListDBCK.Create(application.MainForm);
 | ||
|          with frmSXCKOutListDBCK do
 | ||
|          begin
 | ||
|            caption:=Trim(Title);
 | ||
|            FormStyle := mstyle ;
 | ||
|            windowState := mstate ;
 | ||
|            BorderStyle := mborderstyle;
 | ||
|            //show;
 | ||
|          end;
 | ||
|        end
 | ||
|        else
 | ||
|          frmSXCKOutListDBCK.BringToFront;
 | ||
|        //句柄
 | ||
|        mNewHandle:=frmSXCKOutListDBCK.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 ;
 | ||
|      31:  //坯布库存
 | ||
|      begin
 | ||
|        if frmSXCRKList=nil then
 | ||
|        begin
 | ||
|          frmSXCRKList:= TfrmSXCRKList.Create(application.MainForm);
 | ||
|          with frmSXCRKList do
 | ||
|          begin
 | ||
|            caption:=Trim(Title);
 | ||
|            FormStyle := mstyle ;
 | ||
|            windowState := mstate ;
 | ||
|            BorderStyle := mborderstyle;
 | ||
|            //show;
 | ||
|          end;
 | ||
|        end
 | ||
|        else
 | ||
|          frmSXCRKList.BringToFront;
 | ||
|        //句柄
 | ||
|        mNewHandle:=frmSXCRKList.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
 | ||
|            fckName:=trim(DParameters3);
 | ||
|            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
 | ||
|            fckName:=trim(DParameters3);
 | ||
|            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
 | ||
|            fckName:=trim(DParameters3);
 | ||
|            caption:=Trim(Title);
 | ||
|            FormStyle := mstyle ;
 | ||
|            windowState := mstate ;
 | ||
|            BorderStyle := mborderstyle;
 | ||
|            //show;
 | ||
|          end;
 | ||
|        end
 | ||
|        else
 | ||
|          frmDJBCKKCList.BringToFront;
 | ||
|        //句柄
 | ||
|        mNewHandle:=frmDJBCKKCList.Handle;
 | ||
|      end ;
 | ||
|      11:  //待检布库存列表
 | ||
|      begin
 | ||
|        if frmDJBRKHZList=nil then
 | ||
|        begin
 | ||
|          frmDJBRKHZList:= TfrmDJBRKHZList.Create(application.MainForm);
 | ||
|          with frmDJBRKHZList do
 | ||
|          begin
 | ||
|            fckName:=trim(DParameters3);
 | ||
|            caption:=Trim(Title);
 | ||
|            FormStyle := mstyle ;
 | ||
|            windowState := mstate ;
 | ||
|            BorderStyle := mborderstyle;
 | ||
|            //show;
 | ||
|          end;
 | ||
|        end
 | ||
|        else
 | ||
|          frmDJBRKHZList.BringToFront;
 | ||
|        //句柄
 | ||
|        mNewHandle:=frmDJBRKHZList.Handle;
 | ||
|      end ;
 | ||
| 
 | ||
|      12:  //待检布库存列表
 | ||
|      begin
 | ||
|        if frmJGList=nil then
 | ||
|        begin
 | ||
|          frmJGList:= TfrmJGList.Create(application.MainForm);
 | ||
|          with frmJGList do
 | ||
|          begin
 | ||
|            fckName:=trim(DParameters3);
 | ||
|            caption:=Trim(Title);
 | ||
|            FormStyle := mstyle ;
 | ||
|            windowState := mstate ;
 | ||
|            BorderStyle := mborderstyle;
 | ||
|            //show;
 | ||
|          end;
 | ||
|        end
 | ||
|        else
 | ||
|          frmJGList.BringToFront;
 | ||
|        //句柄
 | ||
|        mNewHandle:=frmJGList.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.
 | ||
| 
 | 
