D7FZaideng/应收应付/U_GetDllForm.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

826 lines
21 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_GetDllForm;
interface
uses
Windows,Messages,forms,OleCtnrs,DateUtils,SysUtils,ADODB,ActiveX,dxCore;
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_YKHXList,U_FDINVOICE,U_FPINVOICE_TJ;
/////////////////////////////////////////////////////////////////
// 功能说明:取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 := '139.224.12.182,7781'; // 122.224.36.142,7781
dtbase := 'aidengdata'; //jinzhicaidata
user := 'aidengsa';
pswd := 'rightsoft@3203';
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:='无订单号';
//DParameters1:='管理';//103
// DParameters2:='人民币';
// 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);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFCR.BringToFront;
//句柄
mNewHandle:=frmYFCR.Handle;
end ;
15: //应付款登记 坯布 染费 加工费
begin
if frmYFCRLZ=nil then
begin
frmYFCRLZ:= TfrmYFCRLZ.Create(application.MainForm);
with frmYFCRLZ do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFCRLZ.BringToFront;
//句柄
mNewHandle:=frmYFCRLZ.Handle;
end ;
12: //应付款登记 原材料仓库
begin
if frmYFCRYCL=nil then
begin
frmYFCRYCL:= TfrmYFCRYCL.Create(application.MainForm);
with frmYFCRYCL do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFCRYCL.BringToFront;
//句柄
mNewHandle:=frmYFCRYCL.Handle;
end ;
11: //应付款登记 原材料仓库
begin
if frmYFCRLZQty=nil then
begin
frmYFCRLZQty:= TfrmYFCRLZQty.Create(application.MainForm);
with frmYFCRLZQty do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFCRLZQty.BringToFront;
//句柄
mNewHandle:=frmYFCRLZQty.Handle;
end ;
13: //应付款登记 坯布 染费 加工费查询
begin
if frmYFCRLZView=nil then
begin
frmYFCRLZView:= TfrmYFCRLZView.Create(application.MainForm);
with frmYFCRLZView do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYFCRLZView.BringToFront;
//句柄
mNewHandle:=frmYFCRLZView.Handle;
end ;
2: //付款登记
begin
if frmFKCR=nil then
begin
frmFKCR:= TfrmFKCR.Create(application.MainForm);
with frmFKCR do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmFKCR.BringToFront;
//句柄
mNewHandle:=frmFKCR.Handle;
end ;
21: //付款登记(路展 台头)
begin
if frmFKCRLZ=nil then
begin
frmFKCRLZ:= TfrmFKCRLZ.Create(application.MainForm);
with frmFKCRLZ do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmFKCRLZ.BringToFront;
//句柄
mNewHandle:=frmFKCRLZ.Handle;
end ;
3: //应付款付款统计
begin
if frmYFFKList=nil then
begin
frmYFFKList:= TfrmYFFKList.Create(application.MainForm);
with frmYFFKList do
begin
caption:=Trim(Title);
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
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSCR.BringToFront;
//句柄
mNewHandle:=frmYSCR.Handle;
end ;
41: //应收款登记
begin
if frmYSCRLZ=nil then
begin
frmYSCRLZ:= TfrmYSCRLZ.Create(application.MainForm);
with frmYSCRLZ do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSCRLZ.BringToFront;
//句柄
mNewHandle:=frmYSCRLZ.Handle;
end ;
42: //应收款登记
begin
if frmYSCROL=nil then
begin
frmYSCROL:= TfrmYSCROL.Create(application.MainForm);
with frmYSCROL do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSCROL.BringToFront;
//句柄
mNewHandle:=frmYSCROL.Handle;
end ;
43: //应收款登记(锦织彩)
begin
if frmYSCRJZC=nil then
begin
frmYSCRJZC:= TfrmYSCRJZC.Create(application.MainForm);
with frmYSCRJZC do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSCRJZC.BringToFront;
//句柄
mNewHandle:=frmYSCRJZC.Handle;
end ;
44: //应收款登记(广东)
begin
if frmYSCR_Gd=nil then
begin
frmYSCR_Gd:= TfrmYSCR_Gd.Create(application.MainForm);
with frmYSCR_Gd do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSCR_Gd.BringToFront;
//句柄
mNewHandle:=frmYSCR_Gd.Handle;
end ;
5: //收款登记
begin
if frmSKCR=nil then
begin
frmSKCR:= TfrmSKCR.Create(application.MainForm);
with frmSKCR do
begin
caption:=Trim(Title);
// IsHx:=1;
IsHx:=strtointdef(database,0);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmSKCR.BringToFront;
//句柄
mNewHandle:=frmSKCR.Handle;
end ;
51: //收款登记
begin
if frmSKCROLJ=nil then
begin
frmSKCROLJ:= TfrmSKCROLJ.Create(application.MainForm);
with frmSKCROLJ do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmSKCROLJ.BringToFront;
//句柄
mNewHandle:=frmSKCROLJ.Handle;
end ;
52: //收款登记(路展)
begin
if frmSKCRLZ=nil then
begin
frmSKCRLZ:= TfrmSKCRLZ.Create(application.MainForm);
with frmSKCRLZ do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmSKCRLZ.BringToFront;
//句柄
mNewHandle:=frmSKCRLZ.Handle;
end ;
54: //收款登记(广东)
begin
if frmSKCR_Gd=nil then
begin
frmSKCR_Gd:= TfrmSKCR_Gd.Create(application.MainForm);
with frmSKCR_Gd do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmSKCR_Gd.BringToFront;
//句柄
mNewHandle:=frmSKCR_Gd.Handle;
end ;
6: //应收款收款统计
begin
if frmYSSKList=nil then
begin
frmYSSKList:= TfrmYSSKList.Create(application.MainForm);
with frmYSSKList do
begin
caption:=Trim(Title);
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;
81: //销项发票登记
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;
9:
begin
if frmYKHXList=nil then
begin
frmYKHXList:= TfrmYKHXList.Create(application.MainForm);
with frmYKHXList do
begin
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYKHXList.BringToFront;
//句柄
mNewHandle:=frmYKHXList.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);
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);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmYSMXlist.BringToFront;
//句柄
mNewHandle:=frmYSMXlist.Handle;
end;
202: //发票管理
begin
if frmFDINVOICE=nil then
begin
frmFDINVOICE:= TfrmFDINVOICE.Create(application.MainForm);
with frmFDINVOICE do
begin
fInvoiceFlag:='1';
fInvoiceFlag:=trim(Parameters1);
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmFDINVOICE.BringToFront;
//句柄
mNewHandle:=frmFDINVOICE.Handle;
end;
203: //发票统计查询
begin
if frmFPInvoice_TJ=nil then
begin
frmFPInvoice_TJ:= TfrmFPInvoice_TJ.Create(application.MainForm);
with frmFPInvoice_TJ do
begin
fInvoiceFlag:='1';
fInvoiceFlag:=trim(Parameters1);
caption:=Trim(Title);
FormStyle := mstyle ;
windowState := mstate ;
BorderStyle := mborderstyle;
//show;
end;
end
else
frmFPInvoice_TJ.BringToFront;
//句柄
mNewHandle:=frmFPInvoice_TJ.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
CoInitialize(nil);
dxUnitsLoader.Initialize;
finalization
DataLink_YSYF.Free;
application:=NewDllApp;
dxUnitsLoader.Finalize;
end.