2026-06-22 14:20:26 +08:00
|
|
|
|
unit U_GetDllForm;
|
2025-03-01 10:55:52 +08:00
|
|
|
|
|
|
|
|
|
|
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_TatClothInEdit, U_TatClothInList, U_TatDRList,
|
|
|
|
|
|
U_TatClothDROutEdit, U_TatClothOutEdit, U_TatClothOutList, U_TatClothStkList,
|
2026-05-18 17:33:25 +08:00
|
|
|
|
U_TatClothInList_ZDDY,U_TatClothStkSummary;
|
2025-03-01 10:55:52 +08:00
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////
|
2026-06-22 14:20:26 +08:00
|
|
|
|
// 功能说明:取Dll中得窗体 //
|
|
|
|
|
|
// 参数说明:App>>调用应用程序; //
|
|
|
|
|
|
// FormH>>调用窗口句柄 ; //
|
|
|
|
|
|
// FormID>>窗口号; //
|
|
|
|
|
|
// Language>>语言种类; //
|
|
|
|
|
|
// WinStyle>>窗口类型; //
|
2025-03-01 10:55:52 +08:00
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
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;
|
2026-06-22 14:20:26 +08:00
|
|
|
|
mstyle: TFormStyle; // 0:子窗口; 1:普通窗口
|
2025-03-01 10:55:52 +08:00
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
//赋值链接字符串
|
2025-03-01 10:55:52 +08:00
|
|
|
|
SetLength(server, 255);
|
|
|
|
|
|
SetLength(dtbase, 255);
|
|
|
|
|
|
SetLength(user, 255);
|
|
|
|
|
|
SetLength(pswd, 255);
|
|
|
|
|
|
|
|
|
|
|
|
if trim(DataBaseStr) = '' then
|
|
|
|
|
|
begin
|
2025-07-05 09:59:21 +08:00
|
|
|
|
server := '150.109.121.232,7781';
|
2025-03-01 10:55:52 +08:00
|
|
|
|
dtbase := 'KaiXiYadata';
|
2025-07-05 09:59:21 +08:00
|
|
|
|
user := 'kaixiyasa';
|
|
|
|
|
|
pswd := 'rightsoft,.KXY@YN';
|
2025-03-01 10:55:52 +08:00
|
|
|
|
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
|
2026-06-22 14:20:26 +08:00
|
|
|
|
Parameters1 := '管理';
|
|
|
|
|
|
|
|
|
|
|
|
DNAME := '范黄氏玉簪PHẠM HOÀNG THỊ NGỌC TRÂM';
|
|
|
|
|
|
DCODE := 'DSVP01';
|
2025-03-01 10:55:52 +08:00
|
|
|
|
end
|
|
|
|
|
|
else
|
|
|
|
|
|
begin
|
|
|
|
|
|
DConString := DataBaseStr;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
if not ConnData() then
|
|
|
|
|
|
begin
|
|
|
|
|
|
result := 0;
|
|
|
|
|
|
exit;
|
|
|
|
|
|
end;
|
|
|
|
|
|
if IsINIFile() then
|
|
|
|
|
|
ReadINIFile()
|
|
|
|
|
|
else
|
|
|
|
|
|
WriteINIFile;
|
|
|
|
|
|
GetsysParam('', '');
|
2026-06-22 14:20:26 +08:00
|
|
|
|
// 定义窗口类型 、状态
|
2025-03-01 10:55:52 +08:00
|
|
|
|
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;
|
|
|
|
|
|
/////////////////////
|
2026-06-22 14:20:26 +08:00
|
|
|
|
//调用子模块窗口
|
2025-03-01 10:55:52 +08:00
|
|
|
|
case FormID of
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
111: //坯布扫描入库
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothInEdit.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
|
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
121: //坯布入库管理
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothInList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
|
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
122: //自动打印入库码单
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothInList_ZDDY.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
|
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
211: //坯布发货申请
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatDRList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
|
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
221: //坯布申请出库
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothDROutEdit.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
|
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
311: //坯布扫描出库
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothOutEdit.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
|
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
321: //坯布出库列表
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothOutList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
|
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
411: //坯布库存列表
|
2025-03-01 10:55:52 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothStkList.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
2026-05-18 17:33:25 +08:00
|
|
|
|
fFormID := FormID;
|
|
|
|
|
|
FormStyle := mstyle;
|
|
|
|
|
|
WindowState := mstate;
|
|
|
|
|
|
BorderStyle := mborderstyle;
|
|
|
|
|
|
mnewHandle := Handle;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2026-06-22 14:20:26 +08:00
|
|
|
|
444: //坯布库存汇总列表
|
2026-05-18 17:33:25 +08:00
|
|
|
|
begin
|
|
|
|
|
|
with TfrmTatClothStkSummary.Create(Application.MainForm, Title, trim(Parameters1), trim(Parameters2), trim(Parameters3), trim(Parameters4), trim(Parameters5), trim(Parameters10)) do //
|
|
|
|
|
|
begin
|
2025-03-01 10:55:52 +08:00
|
|
|
|
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';
|
2026-06-22 14:20:26 +08:00
|
|
|
|
//服务器日期
|
2025-03-01 10:55:52 +08:00
|
|
|
|
with DataLink_TatClothStk.AdoDataLink do
|
|
|
|
|
|
begin
|
|
|
|
|
|
close;
|
|
|
|
|
|
sql.Clear;
|
|
|
|
|
|
sql.Add('select getDate()as dt');
|
|
|
|
|
|
open;
|
|
|
|
|
|
DServerDate := fieldByName('dt').AsDatetime;
|
|
|
|
|
|
end;
|
|
|
|
|
|
result := true;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
//===========================================================
|
2026-06-22 14:20:26 +08:00
|
|
|
|
//建立数据库连接池
|
2025-03-01 10:55:52 +08:00
|
|
|
|
//===========================================================
|
|
|
|
|
|
|
|
|
|
|
|
function ConnData(): Boolean;
|
|
|
|
|
|
var
|
|
|
|
|
|
IniFile: TIniFile;
|
|
|
|
|
|
begin
|
|
|
|
|
|
try
|
|
|
|
|
|
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'SYSTEMSET.INI');
|
2026-06-22 14:20:26 +08:00
|
|
|
|
PicSvr := IniFile.ReadString('SERVER', '服务器地址', '127.0.0.1');
|
|
|
|
|
|
UserDataFlag := IniFile.ReadString('SERVER', '服务器地址类型', '-1');
|
2025-03-01 10:55:52 +08:00
|
|
|
|
finally
|
|
|
|
|
|
IniFile.Free;
|
|
|
|
|
|
end;
|
|
|
|
|
|
if not Assigned(DataLink_TatClothStk) then
|
|
|
|
|
|
DataLink_TatClothStk := TDataLink_TatClothStk.Create(Application);
|
|
|
|
|
|
try
|
|
|
|
|
|
with DataLink_TatClothStk.ADOLink do
|
|
|
|
|
|
begin
|
|
|
|
|
|
if not Connected then
|
|
|
|
|
|
begin
|
|
|
|
|
|
Connected := false;
|
|
|
|
|
|
ConnectionString := DConString;
|
|
|
|
|
|
LoginPrompt := false;
|
|
|
|
|
|
Connected := true;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
Result := true;
|
|
|
|
|
|
except
|
|
|
|
|
|
Result := false;
|
2026-06-22 14:20:26 +08:00
|
|
|
|
application.MessageBox('数据库连接失败!', '错误', mb_Ok + MB_ICONERROR);
|
2025-03-01 10:55:52 +08:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
initialization
|
|
|
|
|
|
CoInitialize(nil);
|
|
|
|
|
|
dxUnitsLoader.Initialize;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
finalization
|
|
|
|
|
|
DataLink_TatClothStk.Free;
|
|
|
|
|
|
application := NewDllApp;
|
|
|
|
|
|
dxUnitsLoader.Finalize;
|
|
|
|
|
|
|
|
|
|
|
|
end.
|
|
|
|
|
|
|