255 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
		
		
			
		
	
	
			255 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| 
								 | 
							
								unit U_GetDllForm;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								interface
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								uses
							 | 
						|||
| 
								 | 
							
								  Windows, Messages, forms, OleCtnrs, DateUtils, SysUtils, ADODB, dxcore,IniFiles,
							 | 
						|||
| 
								 | 
							
								  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_CPType, U_CPManage, U_KHGetCPManage, U_iniParam, U_CPManageCX,
							 | 
						|||
| 
								 | 
							
								  U_CPManageWJE;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								       /////////////////////////////////////////////////////////////////
							 | 
						|||
| 
								 | 
							
								      //         <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>:ȡDll<6C>еô<D0B5><C3B4><EFBFBD>                              //
							 | 
						|||
| 
								 | 
							
								     //        <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>App>><3E><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>                        //
							 | 
						|||
| 
								 | 
							
								    //                 FormH>><3E><><EFBFBD>ô<EFBFBD><C3B4>ھ<EFBFBD><DABE><EFBFBD> <20><>                      //
							 | 
						|||
| 
								 | 
							
								   //                 FormID>><3E><><EFBFBD>ں<EFBFBD>;                             //
							 | 
						|||
| 
								 | 
							
								  //                 Language>><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;                         //
							 | 
						|||
| 
								 | 
							
								 //                 WinStyle>><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>                        //
							 | 
						|||
| 
								 | 
							
								/////////////////////////////////////////////////////////////////
							 | 
						|||
| 
								 | 
							
								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:<3A>Ӵ<EFBFBD><D3B4><EFBFBD>; 1<><31><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								  mstate: TWindowState;
							 | 
						|||
| 
								 | 
							
								  mborderstyle: TFormBorderStyle;
							 | 
						|||
| 
								 | 
							
								begin
							 | 
						|||
| 
								 | 
							
								  mnewHandle := 0;
							 | 
						|||
| 
								 | 
							
								  DName := GName;
							 | 
						|||
| 
								 | 
							
								  DCode := GName;
							 | 
						|||
| 
								 | 
							
								  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;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
							 | 
						|||
| 
								 | 
							
								  SetLength(server, 255);
							 | 
						|||
| 
								 | 
							
								  SetLength(dtbase, 255);
							 | 
						|||
| 
								 | 
							
								  SetLength(user, 255);
							 | 
						|||
| 
								 | 
							
								  SetLength(pswd, 255);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  server := '47.100.182.1,7781';
							 | 
						|||
| 
								 | 
							
								  dtbase := 'guihuadata';
							 | 
						|||
| 
								 | 
							
								  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;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								   //DParameters1:='Ӣ<><D3A2>';
							 | 
						|||
| 
								 | 
							
								   //DParameters2:='<27>ŷ<EFBFBD><C5B7><EFBFBD>λ';
							 | 
						|||
| 
								 | 
							
								//   DParameters2:='<27>м۸<D0BC>';
							 | 
						|||
| 
								 | 
							
								  // DParameters5:='<27><><EFBFBD><EFBFBD>';
							 | 
						|||
| 
								 | 
							
								  if not ConnData() then
							 | 
						|||
| 
								 | 
							
								  begin
							 | 
						|||
| 
								 | 
							
								    result := 0;
							 | 
						|||
| 
								 | 
							
								    exit;
							 | 
						|||
| 
								 | 
							
								  end;
							 | 
						|||
| 
								 | 
							
								  if IsINIFile() then
							 | 
						|||
| 
								 | 
							
								    ReadINIFile()
							 | 
						|||
| 
								 | 
							
								  else
							 | 
						|||
| 
								 | 
							
								    WriteINIFile;
							 | 
						|||
| 
								 | 
							
								   // <20><><EFBFBD>崰<EFBFBD><E5B4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>״̬
							 | 
						|||
| 
								 | 
							
								  if WinStyle = 0 then
							 | 
						|||
| 
								 | 
							
								  begin
							 | 
						|||
| 
								 | 
							
								    mstyle := fsMDIChild;
							 | 
						|||
| 
								 | 
							
								    mstate := wsMaximized;
							 | 
						|||
| 
								 | 
							
								    mborderstyle := bsSizeable;
							 | 
						|||
| 
								 | 
							
								  end
							 | 
						|||
| 
								 | 
							
								  else
							 | 
						|||
| 
								 | 
							
								  begin
							 | 
						|||
| 
								 | 
							
								    mstyle := fsNormal;
							 | 
						|||
| 
								 | 
							
								    mstate := wsNormal;
							 | 
						|||
| 
								 | 
							
								    mborderstyle := bsSizeable;
							 | 
						|||
| 
								 | 
							
								  end;
							 | 
						|||
| 
								 | 
							
								  /////////////////////
							 | 
						|||
| 
								 | 
							
								  //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>鴰<EFBFBD><E9B4B0>
							 | 
						|||
| 
								 | 
							
								  case FormID of
							 | 
						|||
| 
								 | 
							
								    1:  // <20><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								      begin
							 | 
						|||
| 
								 | 
							
								        if frmCPType = nil then
							 | 
						|||
| 
								 | 
							
								        begin
							 | 
						|||
| 
								 | 
							
								          frmCPType := TfrmCPType.Create(application.MainForm);
							 | 
						|||
| 
								 | 
							
								          with frmCPType do
							 | 
						|||
| 
								 | 
							
								          begin
							 | 
						|||
| 
								 | 
							
								            caption := Trim(Title);
							 | 
						|||
| 
								 | 
							
								            FormStyle := mstyle;
							 | 
						|||
| 
								 | 
							
								            windowState := mstate;
							 | 
						|||
| 
								 | 
							
								            BorderStyle := mborderstyle;
							 | 
						|||
| 
								 | 
							
								           //show;
							 | 
						|||
| 
								 | 
							
								          end;
							 | 
						|||
| 
								 | 
							
								        end
							 | 
						|||
| 
								 | 
							
								        else
							 | 
						|||
| 
								 | 
							
								          frmCPType.BringToFront;
							 | 
						|||
| 
								 | 
							
								       //<2F><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								        mnewHandle := frmCPType.Handle;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								      end;
							 | 
						|||
| 
								 | 
							
								    2:  // <20><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								      begin
							 | 
						|||
| 
								 | 
							
								        if frmCPManage = nil then
							 | 
						|||
| 
								 | 
							
								        begin
							 | 
						|||
| 
								 | 
							
								          frmCPManage := TfrmCPManage.Create(application.MainForm);
							 | 
						|||
| 
								 | 
							
								          with frmCPManage do
							 | 
						|||
| 
								 | 
							
								          begin
							 | 
						|||
| 
								 | 
							
								            caption := Trim(Title);
							 | 
						|||
| 
								 | 
							
								            FormStyle := mstyle;
							 | 
						|||
| 
								 | 
							
								            windowState := mstate;
							 | 
						|||
| 
								 | 
							
								            BorderStyle := mborderstyle;
							 | 
						|||
| 
								 | 
							
								           //show;
							 | 
						|||
| 
								 | 
							
								          end;
							 | 
						|||
| 
								 | 
							
								        end
							 | 
						|||
| 
								 | 
							
								        else
							 | 
						|||
| 
								 | 
							
								          frmCPManage.BringToFront;
							 | 
						|||
| 
								 | 
							
								       //<2F><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								        mnewHandle := frmCPManage.Handle;
							 | 
						|||
| 
								 | 
							
								      end;
							 | 
						|||
| 
								 | 
							
								    21:  // <20><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB5><EFBFBD>
							 | 
						|||
| 
								 | 
							
								      begin
							 | 
						|||
| 
								 | 
							
								        if frmCPManageWJE = nil then
							 | 
						|||
| 
								 | 
							
								        begin
							 | 
						|||
| 
								 | 
							
								          frmCPManageWJE := TfrmCPManageWJE.Create(application.MainForm);
							 | 
						|||
| 
								 | 
							
								          with frmCPManageWJE do
							 | 
						|||
| 
								 | 
							
								          begin
							 | 
						|||
| 
								 | 
							
								            caption := Trim(Title);
							 | 
						|||
| 
								 | 
							
								            FormStyle := mstyle;
							 | 
						|||
| 
								 | 
							
								            windowState := mstate;
							 | 
						|||
| 
								 | 
							
								            BorderStyle := mborderstyle;
							 | 
						|||
| 
								 | 
							
								           //show;
							 | 
						|||
| 
								 | 
							
								          end;
							 | 
						|||
| 
								 | 
							
								        end
							 | 
						|||
| 
								 | 
							
								        else
							 | 
						|||
| 
								 | 
							
								          frmCPManageWJE.BringToFront;
							 | 
						|||
| 
								 | 
							
								       //<2F><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								        mnewHandle := frmCPManageWJE.Handle;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								      end;
							 | 
						|||
| 
								 | 
							
								    3:  // <20>ͻ<EFBFBD>ȡ<EFBFBD><C8A1>
							 | 
						|||
| 
								 | 
							
								      begin
							 | 
						|||
| 
								 | 
							
								        if frmKHGetCPManage = nil then
							 | 
						|||
| 
								 | 
							
								        begin
							 | 
						|||
| 
								 | 
							
								          frmKHGetCPManage := TfrmKHGetCPManage.Create(application.MainForm);
							 | 
						|||
| 
								 | 
							
								          with frmKHGetCPManage do
							 | 
						|||
| 
								 | 
							
								          begin
							 | 
						|||
| 
								 | 
							
								            caption := Trim(Title);
							 | 
						|||
| 
								 | 
							
								            FormStyle := mstyle;
							 | 
						|||
| 
								 | 
							
								            windowState := mstate;
							 | 
						|||
| 
								 | 
							
								            BorderStyle := mborderstyle;
							 | 
						|||
| 
								 | 
							
								           //show;
							 | 
						|||
| 
								 | 
							
								          end;
							 | 
						|||
| 
								 | 
							
								        end
							 | 
						|||
| 
								 | 
							
								        else
							 | 
						|||
| 
								 | 
							
								          frmKHGetCPManage.BringToFront;
							 | 
						|||
| 
								 | 
							
								       //<2F><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								        mnewHandle := frmKHGetCPManage.Handle;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								      end;
							 | 
						|||
| 
								 | 
							
								    4:  // <20><>Ʒ<EFBFBD><C6B7>ѯ
							 | 
						|||
| 
								 | 
							
								      begin
							 | 
						|||
| 
								 | 
							
								        if frmCPManageCX = nil then
							 | 
						|||
| 
								 | 
							
								        begin
							 | 
						|||
| 
								 | 
							
								          frmCPManageCX := TfrmCPManageCX.Create(application.MainForm);
							 | 
						|||
| 
								 | 
							
								          with frmCPManageCX do
							 | 
						|||
| 
								 | 
							
								          begin
							 | 
						|||
| 
								 | 
							
								            caption := Trim(Title);
							 | 
						|||
| 
								 | 
							
								            FormStyle := mstyle;
							 | 
						|||
| 
								 | 
							
								            windowState := mstate;
							 | 
						|||
| 
								 | 
							
								            BorderStyle := mborderstyle;
							 | 
						|||
| 
								 | 
							
								           //show;
							 | 
						|||
| 
								 | 
							
								          end;
							 | 
						|||
| 
								 | 
							
								        end
							 | 
						|||
| 
								 | 
							
								        else
							 | 
						|||
| 
								 | 
							
								          frmCPManageCX.BringToFront;
							 | 
						|||
| 
								 | 
							
								       //<2F><><EFBFBD><EFBFBD>
							 | 
						|||
| 
								 | 
							
								        mnewHandle := frmCPManageCX.Handle;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								      end;
							 | 
						|||
| 
								 | 
							
								  end;  // end case
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  Result := mnewHandle;
							 | 
						|||
| 
								 | 
							
								//   NewDllApp:=Application ;
							 | 
						|||
| 
								 | 
							
								end;
							 | 
						|||
| 
								 | 
							
								//===========================================================
							 | 
						|||
| 
								 | 
							
								  //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳ<EFBFBD>
							 | 
						|||
| 
								 | 
							
								//===========================================================
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function ConnData(): Boolean;
							 | 
						|||
| 
								 | 
							
								var
							 | 
						|||
| 
								 | 
							
								  IniFile: TIniFile;                                        
							 | 
						|||
| 
								 | 
							
								begin
							 | 
						|||
| 
								 | 
							
								  try
							 | 
						|||
| 
								 | 
							
								    IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'SYSTEMSET.INI');
							 | 
						|||
| 
								 | 
							
								    PicSvr := IniFile.ReadString('SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
							 | 
						|||
| 
								 | 
							
								    UserDataFlag:=IniFile.ReadString('SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>','-1');
							 | 
						|||
| 
								 | 
							
								  finally
							 | 
						|||
| 
								 | 
							
								    IniFile.Free;
							 | 
						|||
| 
								 | 
							
								  end;
							 | 
						|||
| 
								 | 
							
								  if not Assigned(DataLink_YPGL) then
							 | 
						|||
| 
								 | 
							
								    DataLink_YPGL := TDataLink_YPGL.Create(Application);
							 | 
						|||
| 
								 | 
							
								  try
							 | 
						|||
| 
								 | 
							
								    with DataLink_YPGL.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('<27><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><><EFBFBD><EFBFBD>', mb_Ok + MB_ICONERROR);
							 | 
						|||
| 
								 | 
							
								  end;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								end;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								initialization
							 | 
						|||
| 
								 | 
							
								  CoInitialize(nil);
							 | 
						|||
| 
								 | 
							
								  dxUnitsLoader.Initialize;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								finalization
							 | 
						|||
| 
								 | 
							
								  DataLink_YPGL.Free;
							 | 
						|||
| 
								 | 
							
								  application := NewDllApp;
							 | 
						|||
| 
								 | 
							
								  dxUnitsLoader.Finalize;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								end.
							 | 
						|||
| 
								 | 
							
								
							 |