D10szGerun/T02贸易汇总仓库/U_GetDllForm.pas
2026-10-13 17:29:49 +08:00

528 lines
18 KiB
ObjectPascal
Raw Permalink 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, dxCore,
ActiveX, IniFiles;
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;
function GetsysParam(muserId: pchar; fparam1: pchar): Boolean;
implementation
uses
U_DataLink, U_iniParam, U_TradeGreyClothInList, U_TradeGreyClothOutList,
U_TradeGreyClothStkList;
// U_TradeFtyClothInList, U_TradeFtyClothOutList,
// U_TradeFtyClothStkList, U_TradeFinishClothInList, U_TradeFinishClothOutList,
// U_TradeFinishClothStkList, U_TradePackClothInList, U_TradePackClothOutList,
// U_TradePackClothStkList, U_TradeSampleClothInList, U_TradeSampleClothOutList,
// U_TradeSampleClothStkList, U_mlbq, U_mlmx, U_mlkc, U_WJGBQ, U_WJGMX, U_WJGKC,
// U_mlzc, U_WJGZC, U_ZCML;
/////////////////////////////////////////////////////////////////
// 功能说明:取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
i: Integer;
bFound: Boolean;
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;
SetLength(fDllFileName, 255);
GetModuleFileName(HInstance, PChar(fDllFileName), Length(fDllFileName));
fDllFileName := ExtractFileName(PChar(fDllFileName));
MainApplication := App;
DCurHandle := FormH;
IsDelphiLanguage := Language;
Application := TApplication(App);
DCurHandle := 0;
//赋值链接字符串
SetLength(server, 255);
SetLength(dtbase, 255);
SetLength(user, 255);
SetLength(pswd, 255);
if trim(DataBaseStr) = '' then
begin
server := '8.153.99.238,7781';
dtbase := 'gerunData';
user := 'rightsoftsa';
pswd := 'right,.soft@2377';
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
DParameters1 := '高权限';
end
else
begin
DConString := DataBaseStr;
end;
if not ConnData() then
begin
result := 0;
exit;
end;
if IsINIFile() then
ReadINIFile()
else
WriteINIFile;
GetsysParam('', '');
// 定义窗口类型 、状态
if WinStyle = 0 then
begin
mstyle := fsMDIChild;
mstate := wsMaximized;
mborderstyle := bsSizeable;
end
else
begin
mstyle := fsNormal;
mstate := wsNormal;
mborderstyle := bsSizeable;
end;
bFound := False;
if FormID <> 10000 then
begin
for i := 0 to Application.MainForm.MDIChildCount - 1 do
begin
if Application.MainForm.MDIChildren[i].Caption = Title then
begin
mnewHandle := Application.MainForm.MDIChildren[i].Handle;
Application.MainForm.MDIChildren[i].BringToFront;
bFound := True;
Result := mnewHandle;
exit;
end;
end;
end;
/////////////////////
//调用子模块窗口
case FormID of
111: //坯布入库
begin
with TfrmTradeGreyClothInList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
begin
FSTKName := '贸易坯布';
fFormID := FormID;
FormStyle := mstyle;
WindowState := mstate;
BorderStyle := mborderstyle;
mnewHandle := Handle;
end;
end;
121: //坯布出库
begin
with TfrmTradeGreyClothOutList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
begin
FSTKName := '贸易坯布';
fFormID := FormID;
FormStyle := mstyle;
WindowState := mstate;
BorderStyle := mborderstyle;
mnewHandle := Handle;
end;
end;
131: //坯布库存
begin
with TfrmTradeGreyClothStkList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
begin
FSTKName := '贸易坯布';
fFormID := FormID;
FormStyle := mstyle;
WindowState := mstate;
BorderStyle := mborderstyle;
mnewHandle := Handle;
end;
end;
// 211: //外加工入库
// begin
// with TfrmTradeFtyClothInList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易外加工布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 221: //外加工出库
// begin
// with TfrmTradeFtyClothOutList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易外加工布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 231: //外加工库存
// begin
// with TfrmTradeFtyClothStkList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易外加工布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 241: //外加工标签
// begin
// with TfrmWJGBQ.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易外加工布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 251: //外加工明细
// begin
// with TfrmWJGMX.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易外加工布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 271: //外加工整出
// begin
// with TfrmWJGZC.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易外加工布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 261: //外加工明细库存
// begin
// with TfrmWJGKC.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易外加工布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 311: //待检布入库
// begin
// with TfrmTradeFinishClothInList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 321: //待检布出库
// begin
// with TfrmTradeFinishClothOutList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 331: //待检布库存
// begin
// with TfrmTradeFinishClothStkList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 341: //面料标签
// begin
// with Tfrmmlbq.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 351: //面料明细
// begin
// with Tfrmmlmx.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 381: //面料整出
// begin
// with TfrmZCML.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 371: //面料整出明细
// begin
// with Tfrmmlzc.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 361: //面料库存
// begin
// with Tfrmmlkc.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易待检布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 411: //成品布入库
// begin
// with TfrmTradePackClothInList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易成品布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 421: //成品布出库
// begin
// with TfrmTradePackClothOutList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易成品布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 431: //成品布库存
// begin
// with TfrmTradeFinishClothStkList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易成品布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 511: //样布入库
// begin
// with TfrmTradeSampleClothInList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易样布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 521: //样布出库
// begin
// with TfrmTradeSampleClothOutList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易样布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
//
// 531: //样布库存
// begin
// with TfrmTradeSampleClothStkList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
// begin
// FSTKName := '贸易样布';
// fFormID := FormID;
// FormStyle := mstyle;
// WindowState := mstate;
// BorderStyle := mborderstyle;
// mnewHandle := Handle;
// end;
// end;
10000:
begin
for i := 0 to application.MainForm.MDIChildCount - 1 do
begin
if application.MainForm.MDIChildren[i].Caption = Title then
begin
application.MainForm.MDIChildren[i].Close;
end;
end;
end;
end;
Result := mnewHandle;
end;
function GetsysParam(muserId: pchar; fparam1: pchar): Boolean;
begin
result := true;
//////////////////////////////
// shortDateFormat := 'yyyy-MM-dd';
//服务器日期
with DataLink_TradeTotalClothStk.AdoDataLink do
begin
close;
sql.Clear;
sql.Add('select getDate()as dt');
open;
DServerDate := fieldByName('dt').AsDatetime;
end;
result := true;
end;
//===========================================================
//建立数据库连接池
//===========================================================
function ConnData(): Boolean;
var
IniFile: TIniFile;
begin
try
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'SYSTEMSET.INI');
PicSvr := IniFile.ReadString('SERVER', '服务器地址', '127.0.0.1');
UserDataFlag := IniFile.ReadString('SERVER', '服务器地址类型', '-1');
finally
IniFile.Free;
end;
if not Assigned(DataLink_TradeTotalClothStk) then
DataLink_TradeTotalClothStk := TDataLink_TradeTotalClothStk.Create(Application);
try
with DataLink_TradeTotalClothStk.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_TradeTotalClothStk.Free;
application := NewDllApp;
dxUnitsLoader.Finalize;
end.