280 lines
8.0 KiB
ObjectPascal
280 lines
8.0 KiB
ObjectPascal
![]() |
|
|||
|
|
|||
|
unit U_GetDllForm;
|
|||
|
interface
|
|||
|
uses
|
|||
|
Windows,Messages,forms,OleCtnrs,DateUtils,SysUtils,ADODB;
|
|||
|
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_ContractListPB,U_ContractListPBKFSH;
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////
|
|||
|
// <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> //
|
|||
|
/////////////////////////////////////////////////////////////////
|
|||
|
var
|
|||
|
frmContractListPBLR,frmContractListPBChk,frmContractListPBCX:TfrmContractListPB;
|
|||
|
frmContractListPBKFChk:TfrmContractListPBKFSH;
|
|||
|
|
|||
|
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
|
|||
|
i: Integer;
|
|||
|
bFound:Boolean;
|
|||
|
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:=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;
|
|||
|
|
|||
|
|
|||
|
//<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|||
|
SetLength(server, 255);
|
|||
|
SetLength(dtbase, 255);
|
|||
|
SetLength(user, 255);
|
|||
|
SetLength(pswd, 255);
|
|||
|
|
|||
|
// server:='47.100.185.150,7781';
|
|||
|
server:='.';
|
|||
|
dtbase:='hongjudata';
|
|||
|
user:='sa';
|
|||
|
// pswd:='rightsoft@123';
|
|||
|
pswd:='rightsoft';
|
|||
|
DConString := 'Provider=SQLOLEDB.1;Password='+pswd+';Persist Security Info=True;User ID='
|
|||
|
+user+';Initial Catalog='+dtbase+';Data Source='+server;
|
|||
|
DConString:=DataBaseStr;
|
|||
|
// DName:='<27>ܸ<EFBFBD><DCB8><EFBFBD>';
|
|||
|
|
|||
|
// DParameters1:='<27><>Ȩ<EFBFBD><C8A8>';
|
|||
|
//DParameters3:='1';
|
|||
|
if not ConnData() then
|
|||
|
begin
|
|||
|
result:=0;
|
|||
|
exit;
|
|||
|
end;
|
|||
|
|
|||
|
// <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
|
|||
|
101: //<2F><><EFBFBD>ۺ<EFBFBD>ͬ¼<CDAC><C2BC>
|
|||
|
begin
|
|||
|
bFound := FALSE;
|
|||
|
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
|
|||
|
begin
|
|||
|
if App.MainForm.MDIChildren[i].Caption = '<27><><EFBFBD>ۺ<EFBFBD>ͬ¼<CDAC><C2BC>' then
|
|||
|
begin
|
|||
|
BringWindowToTop(frmContractListPBLR.Handle);
|
|||
|
bFound := TRUE;
|
|||
|
Break;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if not bFound then
|
|||
|
//if frmBaoGuanListBGZL=nil then
|
|||
|
begin
|
|||
|
frmContractListPBLR:=TfrmContractListPB.Create(application.MainForm);
|
|||
|
with frmContractListPBLR do
|
|||
|
begin
|
|||
|
canshu1:='¼<><C2BC>';
|
|||
|
Title:='<27><><EFBFBD>ۺ<EFBFBD>ͬ¼<CDAC><C2BC>';
|
|||
|
caption:=Trim(Title);
|
|||
|
FormStyle := mstyle ;
|
|||
|
windowState := mstate ;
|
|||
|
BorderStyle := mborderstyle;
|
|||
|
//show;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
frmContractListPBLR.BringToFront;
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
mNewHandle:=frmContractListPBLR.Handle;
|
|||
|
end ;
|
|||
|
102: //<2F><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
|
|||
|
begin
|
|||
|
bFound := FALSE;
|
|||
|
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
|
|||
|
begin
|
|||
|
if App.MainForm.MDIChildren[i].Caption = '<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>' then
|
|||
|
begin
|
|||
|
BringWindowToTop(frmContractListPBChk.Handle);
|
|||
|
bFound := TRUE;
|
|||
|
Break;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if not bFound then
|
|||
|
//if frmBaoGuanListBGZL=nil then
|
|||
|
begin
|
|||
|
frmContractListPBChk:= TfrmContractListPB.Create(application.MainForm);
|
|||
|
with frmContractListPBChk do
|
|||
|
begin
|
|||
|
canshu1:='<27><><EFBFBD><EFBFBD>';
|
|||
|
Title:='<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>';
|
|||
|
caption:=Trim(Title);
|
|||
|
FormStyle := mstyle ;
|
|||
|
windowState := mstate ;
|
|||
|
BorderStyle := mborderstyle;
|
|||
|
//show;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
frmContractListPBChk.BringToFront;
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
mNewHandle:=frmContractListPBChk.Handle;
|
|||
|
end ;
|
|||
|
104: //<2F><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
begin
|
|||
|
bFound := FALSE;
|
|||
|
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
|
|||
|
begin
|
|||
|
if App.MainForm.MDIChildren[i].Caption = '<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
|
|||
|
begin
|
|||
|
BringWindowToTop(frmContractListPBKFChk.Handle);
|
|||
|
bFound := TRUE;
|
|||
|
Break;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if not bFound then
|
|||
|
//if frmBaoGuanListBGZL=nil then
|
|||
|
begin
|
|||
|
frmContractListPBKFChk:= TfrmContractListPBKFSH.Create(application.MainForm);
|
|||
|
with frmContractListPBKFChk do
|
|||
|
begin
|
|||
|
canshu1:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
|||
|
Title:='<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
|||
|
caption:=Trim(Title);
|
|||
|
FormStyle := mstyle ;
|
|||
|
windowState := mstate ;
|
|||
|
BorderStyle := mborderstyle;
|
|||
|
//show;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
frmContractListPBKFChk.BringToFront;
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
mNewHandle:=frmContractListPBKFChk.Handle;
|
|||
|
end ;
|
|||
|
103: //<2F><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD>鿴
|
|||
|
begin
|
|||
|
bFound := FALSE;
|
|||
|
for i := (App.MainForm.MDIChildCount - 1) downto 0 do
|
|||
|
begin
|
|||
|
if App.MainForm.MDIChildren[i].Caption = '<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD>鿴' then
|
|||
|
begin
|
|||
|
BringWindowToTop(frmContractListPBCX.Handle);
|
|||
|
bFound := TRUE;
|
|||
|
Break;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if not bFound then
|
|||
|
//if frmBaoGuanListBGZL=nil then
|
|||
|
begin
|
|||
|
frmContractListPBCX:= TfrmContractListPB.Create(application.MainForm);
|
|||
|
with frmContractListPBCX do
|
|||
|
begin
|
|||
|
canshu1:='<27>鿴';
|
|||
|
Title:='<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD>鿴';
|
|||
|
caption:=Trim(Title);
|
|||
|
FormStyle := mstyle ;
|
|||
|
windowState := mstate ;
|
|||
|
BorderStyle := mborderstyle;
|
|||
|
//show;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
frmContractListPBCX.BringToFront;
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
mNewHandle:=frmContractListPBCX.Handle;
|
|||
|
end ;
|
|||
|
end ;
|
|||
|
|
|||
|
Result:= mnewHandle;
|
|||
|
NewDllApp:=Application ;
|
|||
|
end;
|
|||
|
//===========================================================
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳ<EFBFBD>
|
|||
|
//===========================================================
|
|||
|
function ConnData():Boolean;
|
|||
|
begin
|
|||
|
if not Assigned(DataLink_ContractManagement) then
|
|||
|
DataLink_ContractManagement:=TDataLink_ContractManagement.Create(Application);
|
|||
|
Try
|
|||
|
with DataLink_ContractManagement.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
|
|||
|
OldDllApp:= Application;
|
|||
|
|
|||
|
FINALIZATION
|
|||
|
DataLink_ContractManagement.Free;
|
|||
|
Application := OldDllApp;
|
|||
|
|
|||
|
end.
|
|||
|
|