unit U_RPFun; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, BtnEdit, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DBGrids, DB, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView, ADODB, StrUtils, Midas, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxTimeEdit, cxTreeView, cxGrid, cxDBLookupComboBox, cxCalendar, cxCurrencyEdit, cxGridExportLink, ExtCtrls, Buttons, DBClient, RTComboBox, cxDropDownEdit, cxGridBandedTableView, cxGridDBBandedTableView, cxRichEdit, cxButtonEdit, IniFiles, WinSock, IdHTTP, dxcore, cxTextEdit, FireDAC.Comp.Client, cxCheckBox, Vcl.Clipbrd, cxMemo, dxLayoutControl; function FromPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar; function FunPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar; function FromPrintRmf(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar; implementation function FromPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar; type TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall; var Tf: TMyFunc; Tp: TFarProc; Th: Thandle; JsonResult: PChar; begin Th := LoadLibrary('ReportPrint.dll'); if Th > 0 then begin Tp := GetProcAddress(Th, 'GetDllForm'); if Tp <> nil then begin Tf := TMyFunc(Tp); JsonResult := Tf(Application, 11, 'FR3报表', DataBaseStr, JsonArgs); end else begin JsonResult := '{"succsee":false,"message": "读取调用号异常"}'; end; end else begin JsonResult := '{"succsee":false,"message": "找不到ReportPrint.dll"}'; end; Result := JsonResult; end; function FunPrintFr3(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar; type TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall; var Tf: TMyFunc; Tp: TFarProc; Th: Thandle; JsonResult: PChar; begin Th := LoadLibrary('ReportPrint.dll'); if Th > 0 then begin Tp := GetProcAddress(Th, 'GetDllForm'); if Tp <> nil then begin Tf := TMyFunc(Tp); JsonResult := Tf(Application, 12, 'FR3报表', DataBaseStr, JsonArgs); end else begin JsonResult := '{"succsee":false,"message": "读取调用号异常"}'; end; end else begin JsonResult := '{"succsee":false,"message": "找不到ReportPrint.dll"}'; end; Result := JsonResult; end; function FromPrintRmf(App: Tapplication; DataBaseStr: PChar; JsonArgs: PChar): PChar; type TMyFunc = function(App: Tapplication; FormID: integer; Title: PChar; DataBaseStr: PChar; JsonArgs: PChar): PChar; stdcall; var Tf: TMyFunc; Tp: TFarProc; Th: Thandle; JsonResult: PChar; begin Th := LoadLibrary('ReportPrint.dll'); if Th > 0 then begin Tp := GetProcAddress(Th, 'GetDllForm'); if Tp <> nil then begin Tf := TMyFunc(Tp); JsonResult := Tf(Application, 21, 'Rmf报表', DataBaseStr, JsonArgs); end else begin JsonResult := '{"succsee":false,"message": "读取调用号异常"}'; end; end else begin JsonResult := '{"succsee":false,"message": "找不到ReportPrint.dll"}'; end; Result := JsonResult; end; end.