539 lines
14 KiB
ObjectPascal
539 lines
14 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_Fun,U_YFCR,U_FKCR,
|
||
U_YFFKList,U_YSCR,U_SKCR,U_YSSKList,U_ProductOrderCost,U_YFFP,U_YSFP
|
||
,U_YFCRLZ,U_YSCRLZ,U_YSHZMX,U_YFCRYCL,U_YSCROL,U_SKCROLJ,U_YSHZMXOLJ
|
||
,U_SKCRLZ,U_YSHZMXDL,U_FKCRLZ,U_YSHZMXView,U_YFCRLZView,U_YFCRLZQty,
|
||
U_YSCRJZC,U_YSCR_Gd,U_SKCR_Gd,U_YFZDList_MX,U_YSZDList_MX,U_YFMXlist,U_YSMXlist,U_FKCR_GD,U_YFCR_GD;
|
||
|
||
/////////////////////////////////////////////////////////////////
|
||
// 功能说明:取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:='192.168.1.99'; //192.168.1.113
|
||
server:='202.96.107.70,7781';
|
||
dtbase:='haoyuedata';
|
||
// dtbase:='jianweidata';
|
||
user:='sa';
|
||
pswd:='rightsoft@123';
|
||
// pswd:='numlock';
|
||
DConString := 'Provider=SQLOLEDB.1;Password='+pswd+';Persist Security Info=True;User ID='
|
||
+user+';Initial Catalog='+dtbase+';Data Source='+server;
|
||
|
||
DConString:=DataBaseStr;
|
||
|
||
// DParameters1:='无订单号';
|
||
//DParameters1:='管理';//103
|
||
// DParameters2:='人民币';
|
||
Parameters1:='高权限';
|
||
// DataBase:='高权限';
|
||
// DataBase:='1';
|
||
// DParameters1:='2';
|
||
// DParameters3:='项目分开';
|
||
// DParameters4:='对方单位分开';
|
||
//DParameters5:='开票';
|
||
//DParameters6:='其它'; //应付款
|
||
//DParameters7:='匹数'; //应收款
|
||
//DCode:='test';
|
||
//DName:='虞晓';
|
||
//DParameters9:='支付台头';
|
||
//DParameters8:='FactoryNo1Name';
|
||
//DParameters10:='P_YSSK_ListTT';
|
||
if not ConnData() then
|
||
begin
|
||
result:=0;
|
||
exit;
|
||
end;
|
||
{ if IsINIFile() then
|
||
ReadINIFile()
|
||
else
|
||
WriteINIFile ;}
|
||
// 定义窗口类型 、状态
|
||
if WinStyle=0 then
|
||
begin
|
||
mstyle := fsMDIChild ;
|
||
mstate := wsMaximized ;
|
||
mborderstyle := bsSizeable;
|
||
end
|
||
else
|
||
begin
|
||
mstyle := fsNormal ;
|
||
mstate := wsNormal ;
|
||
mborderstyle := bsSizeable;
|
||
end;
|
||
////////////////////
|
||
{ GetSWLDZ('192.168.1.246');
|
||
if IpCall<>0 then
|
||
begin
|
||
Result:=0;
|
||
Application.MessageBox('!!网络不通!!','提示',0);
|
||
Exit;
|
||
end;
|
||
if Trim(IpWLDZStr)<>'D4:AE:52:BE:9F:02' then
|
||
begin
|
||
Result:=0;
|
||
Application.MessageBox('!!数据库连接失败!!','提示',0);
|
||
Exit;
|
||
end; }
|
||
/////////////////////
|
||
//调用子模块窗口
|
||
case FormId of
|
||
1: //应付款登记
|
||
begin
|
||
if frmYFCR=nil then
|
||
begin
|
||
frmYFCR:= TfrmYFCR.Create(application.MainForm);
|
||
with frmYFCR do
|
||
begin
|
||
caption:=Trim(Title);
|
||
fmanage:=trim(Parameters1);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYFCR.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYFCR.Handle;
|
||
|
||
end ;
|
||
|
||
2: //付款登记
|
||
begin
|
||
if frmFKCR=nil then
|
||
begin
|
||
frmFKCR:= TfrmFKCR.Create(application.MainForm);
|
||
with frmFKCR do
|
||
begin
|
||
caption:=Trim(Title);
|
||
fmanage:=trim(Parameters1);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmFKCR.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmFKCR.Handle;
|
||
|
||
end ;
|
||
3: //应付款付款统计
|
||
begin
|
||
if frmYFFKList=nil then
|
||
begin
|
||
frmYFFKList:= TfrmYFFKList.Create(application.MainForm);
|
||
with frmYFFKList do
|
||
begin
|
||
caption:=Trim(Title);
|
||
// fDParameters1:=trim('0');
|
||
fDParameters1:=trim(DParameters1);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYFFKList.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYFFKList.Handle;
|
||
|
||
end ;
|
||
31: //应付款明细账单
|
||
begin
|
||
if frmYFZDList_MX=nil then
|
||
begin
|
||
frmYFZDList_MX:= TfrmYFZDList_MX.Create(application.MainForm);
|
||
with frmYFZDList_MX do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYFZDList_MX.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYFZDList_MX.Handle;
|
||
|
||
end ;
|
||
4: //应收款登记
|
||
begin
|
||
if frmYSCR=nil then
|
||
begin
|
||
frmYSCR:= TfrmYSCR.Create(application.MainForm);
|
||
with frmYSCR do
|
||
begin
|
||
fflag:=strtointdef(trim(DataBase),0);
|
||
fmanage:=trim(Parameters1);
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSCR.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSCR.Handle;
|
||
|
||
end ;
|
||
|
||
5: //收款登记
|
||
begin
|
||
if frmSKCR=nil then
|
||
begin
|
||
frmSKCR:= TfrmSKCR.Create(application.MainForm);
|
||
with frmSKCR do
|
||
begin
|
||
caption:=Trim(Title);
|
||
fflag:=strtointdef(trim(DataBase),0);
|
||
fmanage:=trim(Parameters1);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmSKCR.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmSKCR.Handle;
|
||
|
||
end ;
|
||
6: //应收款收款统计
|
||
begin
|
||
if frmYSSKList=nil then
|
||
begin
|
||
frmYSSKList:= TfrmYSSKList.Create(application.MainForm);
|
||
with frmYSSKList do
|
||
begin
|
||
caption:=Trim(Title);
|
||
fDParameters1:=trim(DParameters1);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSSKList.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSSKList.Handle;
|
||
|
||
end ;
|
||
61: //应收款收款统计
|
||
begin
|
||
if frmYSZDList_MX=nil then
|
||
begin
|
||
frmYSZDList_MX:= TfrmYSZDList_MX.Create(application.MainForm);
|
||
with frmYSZDList_MX do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSZDList_MX.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSZDList_MX.Handle;
|
||
|
||
end ;
|
||
7: //订单核算统计查询
|
||
begin
|
||
if frmProductOrderCost=nil then
|
||
begin
|
||
frmProductOrderCost:= TfrmProductOrderCost.Create(application.MainForm);
|
||
with frmProductOrderCost do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmProductOrderCost.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmProductOrderCost.Handle;
|
||
|
||
end;
|
||
|
||
8: //进项发票登记
|
||
begin
|
||
if frmYFFP=nil then
|
||
begin
|
||
frmYFFP:= TfrmYFFP.Create(application.MainForm);
|
||
with frmYFFP do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYFFP.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYFFP.Handle;
|
||
|
||
end;
|
||
9: //销项发票登记
|
||
begin
|
||
if frmYSFP=nil then
|
||
begin
|
||
frmYSFP:= TfrmYSFP.Create(application.MainForm);
|
||
with frmYSFP do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSFP.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSFP.Handle;
|
||
|
||
end;
|
||
10: //应收账款明细
|
||
begin
|
||
if frmYSHZMX=nil then
|
||
begin
|
||
frmYSHZMX:= TfrmYSHZMX.Create(application.MainForm);
|
||
with frmYSHZMX do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSHZMX.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSHZMX.Handle;
|
||
|
||
end;
|
||
102: //应收账款明细(代理)
|
||
begin
|
||
if frmYSHZMXDL=nil then
|
||
begin
|
||
frmYSHZMXDL:= TfrmYSHZMXDL.Create(application.MainForm);
|
||
with frmYSHZMXDL do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSHZMXDL.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSHZMXDL.Handle;
|
||
|
||
end;
|
||
103: //应收账款明细查询
|
||
begin
|
||
if frmYSHZMXView=nil then
|
||
begin
|
||
frmYSHZMXView:= TfrmYSHZMXView.Create(application.MainForm);
|
||
with frmYSHZMXView do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSHZMXView.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSHZMXView.Handle;
|
||
|
||
end;
|
||
101: //应收账款明细OLJ
|
||
begin
|
||
if frmYSHZMXOLJ=nil then
|
||
begin
|
||
frmYSHZMXOLJ:= TfrmYSHZMXOLJ.Create(application.MainForm);
|
||
with frmYSHZMXOLJ do
|
||
begin
|
||
caption:=Trim(Title);
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSHZMXOLJ.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSHZMXOLJ.Handle;
|
||
|
||
end;
|
||
20: //应收账款明细OLJ
|
||
begin
|
||
if frmYFMXlist=nil then
|
||
begin
|
||
frmYFMXlist:= TfrmYFMXlist.Create(application.MainForm);
|
||
with frmYFMXlist do
|
||
begin
|
||
caption:=Trim(Title);
|
||
fType:=trim(DataBase);
|
||
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYFMXlist.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYFMXlist.Handle;
|
||
|
||
end;
|
||
201: //应收账款明细OLJ
|
||
begin
|
||
if frmYSMXlist=nil then
|
||
begin
|
||
frmYSMXlist:= TfrmYSMXlist.Create(application.MainForm);
|
||
with frmYSMXlist do
|
||
begin
|
||
caption:=Trim(Title);
|
||
// fType:='0';
|
||
fType:=trim(DataBase);
|
||
|
||
FormStyle := mstyle ;
|
||
windowState := mstate ;
|
||
BorderStyle := mborderstyle;
|
||
//show;
|
||
end;
|
||
end
|
||
else
|
||
frmYSMXlist.BringToFront;
|
||
//句柄
|
||
mNewHandle:=frmYSMXlist.Handle;
|
||
|
||
end;
|
||
end ; // end case
|
||
|
||
Result:= mnewHandle;
|
||
NewDllApp:=Application ;
|
||
end;
|
||
//===========================================================
|
||
//建立数据库连接池
|
||
//===========================================================
|
||
function ConnData():Boolean;
|
||
begin
|
||
if not Assigned(DataLink_YSYF) then
|
||
DataLink_YSYF:=TDataLink_YSYF.Create(Application);
|
||
Try
|
||
with DataLink_YSYF.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
|
||
OldDllApp:= Application;
|
||
|
||
FINALIZATION
|
||
DataLink_YSYF.Free;
|
||
Application := OldDllApp;
|
||
|
||
end.
|
||
|