diff --git a/public10/ThreeFun/Fun/U_dynamicsDll.pas b/public10/ThreeFun/Fun/U_dynamicsDll.pas new file mode 100644 index 0000000..5c97a35 --- /dev/null +++ b/public10/ThreeFun/Fun/U_dynamicsDll.pas @@ -0,0 +1,86 @@ +unit U_dynamicsDll; + +interface +uses + Windows, Messages, SysUtils,Dialogs, Variants, Classes,Forms; + + function showFr3LableForm(userCode:string;userName:string;connStr:string;title:string):integer; + function showRmfLableForm(userCode:string;userName:string;connStr:string;title:string):integer; + var + newh: hwnd; + +implementation + +//显示reportMachine标签串口 userCode :用户编号;userName:用户名称 connstr:数据库连接串; titile:串口标签 +// fast report 返回值标签recid 记录号 1 +function showRmfLableForm(userCode:string;userName:string;connStr:string;title:string):integer; +type + TMyFunc = function(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; stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th: Thandle; +begin + result:=0; + Th := LoadLibrary('labelDesign.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + result := Tf(Application, 0, 1, 0, 0, PChar(userCode), PChar(userName), PChar(''), PChar(title), PChar(''), PChar(''), '', '', '', '', '', '', '', '', PChar(connStr)); + end + else + begin + ShowMessage('打印执行错误'); + end; + finally + + end; + end + else + begin + ShowMessage('找不到labelDesign.dll' ); + end; + +end; + +//显示fr3标签串口 userCode :用户编号;userName:用户名称 connstr:数据库连接串; titile:串口标签 +// fast report 返回值标签recid 记录号 10 +function showFr3LableForm(userCode:string;userName:string;connStr:string;title:string):integer; +type + TMyFunc = function(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; stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th: Thandle; +begin + result:=0; + Th := LoadLibrary('labelDesign.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + result := Tf(Application, 0, 10, 0, 0, PChar(userCode), PChar(userName), PChar(''), PChar(title), PChar(''), PChar(''), '', '', '', '', '', '', '', '', pchar(connStr)); + end + else + begin + ShowMessage('打印执行错误'); + end; + finally + + end; + end + else + begin + ShowMessage('找不到labelDesign.dll' ); + end; + +end; + +end.