|
@@ -20,9 +20,10 @@ if (!fs.existsSync(dllPath)) {
|
|
|
}
|
|
|
var callbackPointer;
|
|
|
var dll = ffi.Library(dllPath, {
|
|
|
- designerReport: ['void', ['string', 'string', 'pointer']],
|
|
|
+ designerReport: ['void', ['string', 'string']],
|
|
|
reportShowPreview: ['void', ['string', 'string']],
|
|
|
- reportPrinter: ['void', ['string', 'string']]
|
|
|
+ reportPrinter: ['void', ['string', 'string']],
|
|
|
+ waitSaveOrClose: ['void', ['pointer']]
|
|
|
});
|
|
|
var ReportApi = /** @class */ (function () {
|
|
|
function ReportApi() {
|
|
@@ -36,23 +37,28 @@ var ReportApi = /** @class */ (function () {
|
|
|
*/
|
|
|
ReportApi.designerReport = function (template, tempData, saveCallback) {
|
|
|
callbackPointer = ffi.Callback('void', ['string', 'pointer'], function (data, func) {
|
|
|
- var nativeCallback = ffi.ForeignFunction(func, 'void', ['bool']);
|
|
|
- try {
|
|
|
- saveCallback(data, function (result) {
|
|
|
- if (result) {
|
|
|
- nativeCallback(true);
|
|
|
- }
|
|
|
- else {
|
|
|
- nativeCallback(false);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- catch (e) {
|
|
|
- console.error(e);
|
|
|
- nativeCallback(false);
|
|
|
+ if (data) {
|
|
|
+ var nativeCallback_1 = ffi.ForeignFunction(func, 'void', ['bool']);
|
|
|
+ try {
|
|
|
+ saveCallback(data, function (result) {
|
|
|
+ if (result) {
|
|
|
+ nativeCallback_1(true);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ nativeCallback_1(false);
|
|
|
+ }
|
|
|
+ dll.waitSaveOrClose(callbackPointer);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ catch (e) {
|
|
|
+ console.error(e);
|
|
|
+ nativeCallback_1(false);
|
|
|
+ dll.waitSaveOrClose(callbackPointer);
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
- dll.designerReport(template, tempData, callbackPointer);
|
|
|
+ dll.designerReport(template, tempData);
|
|
|
+ dll.waitSaveOrClose(callbackPointer);
|
|
|
};
|
|
|
/**
|
|
|
*打印预览
|