fullness
This commit is contained in:
parent
b10fae4f86
commit
0d383309ce
@ -87,10 +87,12 @@ constructor TBaseConnection.Create(AOwner: TComponent; ATimeOut: integer;
|
|||||||
aLogger: TLogger);
|
aLogger: TLogger);
|
||||||
begin
|
begin
|
||||||
inherited Create(true);
|
inherited Create(true);
|
||||||
|
fConnectionID:=newID;
|
||||||
fTimeout:=ATimeOut;
|
fTimeout:=ATimeOut;
|
||||||
fOwner := AOwner;
|
fOwner := AOwner;
|
||||||
flogger := ALogger;
|
flogger := ALogger;
|
||||||
fProcessor:=TNIDBDM.Create(nil);
|
fProcessor:=TNIDBDM.Create(nil);
|
||||||
|
fProcessor.Name := 'NIDB_'+fConnectionID;
|
||||||
fProcessor.logger:=aLogger;
|
fProcessor.logger:=aLogger;
|
||||||
Commands:=TStringList.Create;
|
Commands:=TStringList.Create;
|
||||||
DoneCommands:=TList.Create;
|
DoneCommands:=TList.Create;
|
||||||
@ -101,7 +103,7 @@ begin
|
|||||||
nCommandReceived:=0;
|
nCommandReceived:=0;
|
||||||
nCommandReady:=0;
|
nCommandReady:=0;
|
||||||
nErrors:=0;
|
nErrors:=0;
|
||||||
fConnectionID:=newID;
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -192,6 +192,7 @@ constructor TReportCommand.Create(ID: string; aProcesor: TNIDBDM;
|
|||||||
begin
|
begin
|
||||||
inherited Create(ID,aProcesor, aSubClass, aLogger,AUser,IDUser);
|
inherited Create(ID,aProcesor, aSubClass, aLogger,AUser,IDUser);
|
||||||
fReportProcessor:=TReportDM.Create(nil);
|
fReportProcessor:=TReportDM.Create(nil);
|
||||||
|
fReportProcessor.Name := 'Report'+fProcessor.Name;
|
||||||
fReportProcessor.NidbData := fProcessor;
|
fReportProcessor.NidbData := fProcessor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ type
|
|||||||
fUser: integer;
|
fUser: integer;
|
||||||
fUserName: string;
|
fUserName: string;
|
||||||
fLogger: TLogger;
|
fLogger: TLogger;
|
||||||
|
fErrors: TStrings;
|
||||||
function getInt(keyName: string;defaultValue: integer=0): integer;
|
function getInt(keyName: string;defaultValue: integer=0): integer;
|
||||||
function getString(keyName: string): string;
|
function getString(keyName: string): string;
|
||||||
public
|
public
|
||||||
@ -53,6 +54,7 @@ type
|
|||||||
procedure Log(ALevel:TLogLevel; msg: string);
|
procedure Log(ALevel:TLogLevel; msg: string);
|
||||||
procedure logError(e:Exception; Command: string);
|
procedure logError(e:Exception; Command: string);
|
||||||
function ProcessOptionValues(ParamName: string; out Answer: string; out RetValue: QWORD; out OptionValues: TStrings): boolean; virtual; abstract;
|
function ProcessOptionValues(ParamName: string; out Answer: string; out RetValue: QWORD; out OptionValues: TStrings): boolean; virtual; abstract;
|
||||||
|
property Journal: TStrings read fErrors;
|
||||||
end;
|
end;
|
||||||
TCommandClass=class of TCommand;
|
TCommandClass=class of TCommand;
|
||||||
|
|
||||||
@ -134,12 +136,14 @@ begin
|
|||||||
fCommandID:=ID;
|
fCommandID:=ID;
|
||||||
fResult := nil;
|
fResult := nil;
|
||||||
fData := nil;
|
fData := nil;
|
||||||
|
fErrors := TSTringList.Create;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TCommand.Destroy;
|
destructor TCommand.Destroy;
|
||||||
begin
|
begin
|
||||||
if assigned(fData) then fData.Free;
|
if assigned(fData) then fData.Free;
|
||||||
if assigned(fResult) then fResult.free;
|
if assigned(fResult) then fResult.free;
|
||||||
|
fErrors.Free;
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -188,6 +192,7 @@ end;
|
|||||||
|
|
||||||
procedure TCommand.Log(ALevel: TLogLevel; msg: string);
|
procedure TCommand.Log(ALevel: TLogLevel; msg: string);
|
||||||
begin
|
begin
|
||||||
|
fErrors.add(msg);
|
||||||
if assigned(flogger) then
|
if assigned(flogger) then
|
||||||
fLogger(ALevel,self, self.CommandID+#09+msg)
|
fLogger(ALevel,self, self.CommandID+#09+msg)
|
||||||
end;
|
end;
|
||||||
|
@ -344,7 +344,12 @@ begin
|
|||||||
begin
|
begin
|
||||||
Answer := cmd.currentStage;
|
Answer := cmd.currentStage;
|
||||||
if assigned(cmd.Results) then
|
if assigned(cmd.Results) then
|
||||||
cmd.Results.AssignTo(Code,RetValue,Answer,rValues);
|
cmd.Results.AssignTo(Code,RetValue,Answer,rValues)
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
rValues := TSTringList.Create;
|
||||||
|
rValues.Assign(cmd.Journal);
|
||||||
|
end;
|
||||||
code := cmd.Status;
|
code := cmd.Status;
|
||||||
if (code=StatusComplete) and assigned(cmd.Results.Data) then
|
if (code=StatusComplete) and assigned(cmd.Results.Data) then
|
||||||
RetValue:=cmd.Results.Data.Size
|
RetValue:=cmd.Results.Data.Size
|
||||||
|
@ -5,11 +5,11 @@ object ReportDM: TReportDM
|
|||||||
VerticalOffset = 317
|
VerticalOffset = 317
|
||||||
Width = 330
|
Width = 330
|
||||||
object frxReport: TfrxReport
|
object frxReport: TfrxReport
|
||||||
Version = '2023.3.0'
|
Version = '2023.3.3'
|
||||||
DotMatrixReport = False
|
DotMatrixReport = False
|
||||||
EngineOptions.SilentMode = True
|
EngineOptions.SilentMode = True
|
||||||
EngineOptions.NewSilentMode = simSilent
|
EngineOptions.NewSilentMode = simSilent
|
||||||
IniFile = 'tmp/fr6.ini'
|
IniFile = '\Software\Fast Reports'
|
||||||
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick, pbCopy, pbSelection]
|
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick, pbCopy, pbSelection]
|
||||||
PreviewOptions.Zoom = 1
|
PreviewOptions.Zoom = 1
|
||||||
PrintOptions.Printer = 'Default'
|
PrintOptions.Printer = 'Default'
|
||||||
@ -22,7 +22,6 @@ object ReportDM: TReportDM
|
|||||||
''
|
''
|
||||||
'end.'
|
'end.'
|
||||||
)
|
)
|
||||||
OnEndDoc = frxReportEndDoc
|
|
||||||
OnLoadTemplate = frxReportLoadTemplate
|
OnLoadTemplate = frxReportLoadTemplate
|
||||||
OnLoadDetailTemplate = frxReportLoadDetailTemplate
|
OnLoadDetailTemplate = frxReportLoadDetailTemplate
|
||||||
Left = 176
|
Left = 176
|
||||||
|
@ -47,7 +47,6 @@ type
|
|||||||
frxODTExport1: TfrxODTExport;
|
frxODTExport1: TfrxODTExport;
|
||||||
frxPDFExport1: TfrxPDFExport;
|
frxPDFExport1: TfrxPDFExport;
|
||||||
frxReport: TfrxReport;
|
frxReport: TfrxReport;
|
||||||
procedure frxReportEndDoc(Sender: TObject);
|
|
||||||
function frxReportLoadDetailTemplate(Report: TfrxReport;
|
function frxReportLoadDetailTemplate(Report: TfrxReport;
|
||||||
const TemplateName: String; const AHyperlink: TfrxHyperlink): Boolean;
|
const TemplateName: String; const AHyperlink: TfrxHyperlink): Boolean;
|
||||||
procedure frxReportLoadTemplate(Report: TfrxReport;
|
procedure frxReportLoadTemplate(Report: TfrxReport;
|
||||||
@ -192,10 +191,6 @@ begin
|
|||||||
NidbData.log(mtDebug,self,'LoadDetailTemplate '+TemplateName);
|
NidbData.log(mtDebug,self,'LoadDetailTemplate '+TemplateName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TReportDM.frxReportEndDoc(Sender: TObject);
|
|
||||||
begin
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TReportDM.CreateDBDataSet(Query: TReportQuery; EditReport: Boolean);
|
procedure TReportDM.CreateDBDataSet(Query: TReportQuery; EditReport: Boolean);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
@ -422,6 +417,7 @@ begin
|
|||||||
try
|
try
|
||||||
while not eof do
|
while not eof do
|
||||||
begin
|
begin
|
||||||
|
NidbData.log(mtDebug,self,format('Variables[%s]=(%s)',[fieldbyname('name').asString,fieldbyname('value').asString]));
|
||||||
AVariables[fieldbyname('name').asString] := fieldbyname('value').asString;
|
AVariables[fieldbyname('name').asString] := fieldbyname('value').asString;
|
||||||
next;
|
next;
|
||||||
end;
|
end;
|
||||||
@ -436,6 +432,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
OptionName := fieldByName('name').AsString;
|
OptionName := fieldByName('name').AsString;
|
||||||
OptionValue := AnsiString(FieldByName('Value').AsString);
|
OptionValue := AnsiString(FieldByName('Value').AsString);
|
||||||
|
NidbData.log(mtDebug,self,format('Variables[%s]=(%s)',[OptionName,OptionValue]));
|
||||||
AVariables[OptionName] := trim(OptionValue);
|
AVariables[OptionName] := trim(OptionValue);
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
@ -494,12 +491,12 @@ begin
|
|||||||
AVariables[fieldbyname('name').AsString] := fieldbyname('value_string').AsString
|
AVariables[fieldbyname('name').AsString] := fieldbyname('value_string').AsString
|
||||||
else if not fieldbyname('value_int').IsNull then
|
else if not fieldbyname('value_int').IsNull then
|
||||||
AVariables[fieldbyname('name').AsString] := fieldbyname('value_int').AsInteger;
|
AVariables[fieldbyname('name').AsString] := fieldbyname('value_int').AsInteger;
|
||||||
|
NidbData.log(mtDebug,self,format('Variables[%s]=(%s,%d)',[fieldbyname('name').asString,fieldbyname('value_string').asString,fieldbyname('value_int').asInteger]));
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
free;
|
free;
|
||||||
end;
|
end;
|
||||||
NidbData.log(mtDebug,self,'LoadParams');
|
|
||||||
sql := 'select name,value_string, value_int from tmp_report_variables where var_type=1';
|
sql := 'select name,value_string, value_int from tmp_report_variables where var_type=1';
|
||||||
with NidbData.GetData(sql) do
|
with NidbData.GetData(sql) do
|
||||||
try
|
try
|
||||||
@ -510,6 +507,7 @@ begin
|
|||||||
AParam[fieldbyname('name').AsString] := fieldbyname('value_string').AsString
|
AParam[fieldbyname('name').AsString] := fieldbyname('value_string').AsString
|
||||||
else if not fieldbyname('value_int').IsNull then
|
else if not fieldbyname('value_int').IsNull then
|
||||||
AParam[fieldbyname('name').AsString] := fieldbyname('value_int').AsInteger;
|
AParam[fieldbyname('name').AsString] := fieldbyname('value_int').AsInteger;
|
||||||
|
NidbData.log(mtDebug,self,format('Params[%s]=(%s,%d)',[fieldbyname('name').asString,fieldbyname('value_string').asString,fieldbyname('value_int').asInteger]));
|
||||||
Next;
|
Next;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
|
@ -45,7 +45,6 @@ type
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
procedure TClientMainThread.SynchAnswer;
|
procedure TClientMainThread.SynchAnswer;
|
||||||
begin
|
begin
|
||||||
log(mtExtra,self,'SynchAnswer');
|
log(mtExtra,self,'SynchAnswer');
|
||||||
@ -65,6 +64,7 @@ begin
|
|||||||
if assigned(AFields) then
|
if assigned(AFields) then
|
||||||
fFields.assign(AFields);
|
fFields.assign(AFields);
|
||||||
fHost := AHost;
|
fHost := AHost;
|
||||||
|
fResult := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TClientMainThread.Destroy;
|
destructor TClientMainThread.Destroy;
|
||||||
@ -72,6 +72,8 @@ begin
|
|||||||
log(mtExtra, self,'destroy');
|
log(mtExtra, self,'destroy');
|
||||||
Connect.Disconnect();
|
Connect.Disconnect();
|
||||||
fFields.Free;
|
fFields.Free;
|
||||||
|
if assigned(fResult) then
|
||||||
|
FreeAndNil(fResult);
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user