первый
This commit is contained in:
104
devices/Validators/_ValidatorThread.cpp
Normal file
104
devices/Validators/_ValidatorThread.cpp
Normal file
@ -0,0 +1,104 @@
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
|
||||
#include "ValidatorThread.h"
|
||||
#include "Validator.h"
|
||||
#include "PrinterOPOS.h"
|
||||
#include "uf_Main.h"
|
||||
#include "ud_Module.h"
|
||||
#pragma package(smart_init)
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
// Important: Methods and properties of objects in VCL can only be
|
||||
// used in a method called using Synchronize, for example:
|
||||
//
|
||||
// Synchronize(UpdateCaption);
|
||||
//
|
||||
// where UpdateCaption could look like:
|
||||
//
|
||||
// void __fastcall ValidatorThread::UpdateCaption()
|
||||
// {
|
||||
// Form1->Caption = "Updated in a thread";
|
||||
// }
|
||||
//---------------------------------------------------------------------------
|
||||
__fastcall ValidatorThread::ValidatorThread(bool CreateSuspended)
|
||||
: TThread(CreateSuspended)
|
||||
{
|
||||
bStop=false;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall ValidatorThread::Execute()
|
||||
{
|
||||
while(!bStop)
|
||||
{
|
||||
pay=validator->getPay();
|
||||
if(pay!=0) Synchronize(UpdateCaption);
|
||||
}
|
||||
validator->endPay();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void ValidatorThread::Stop()
|
||||
{
|
||||
bStop=true;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
void __fastcall ValidatorThread::UpdateCaption()
|
||||
{
|
||||
bool isOk=true;
|
||||
frmMain->gbtnJCheck->Enabled=true; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
frmMain->gbtnPCheck->Enabled=true;
|
||||
frmMain->gbtnMainMenu->Enabled=false;
|
||||
|
||||
frmMain->sum+=pay;
|
||||
frmMain->Label13->Caption=dModule->language->Values["npay"]+" "+IntToStr(frmMain->sum)+"<EFBFBD><EFBFBD>.";
|
||||
frmMain->Label9->Caption=frmMain->Label13->Caption;
|
||||
try
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(dModule->UserType) //true - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(dModule->BalanceType) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(dModule->addPayJuridicalPerson(dModule->UserId, pay, printerOPOS->CheckId+1))
|
||||
dModule->OraSession1->Commit();
|
||||
else
|
||||
{isOk=false; dModule->OraSession1->Rollback();}
|
||||
}else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(dModule->addPayJuridicalPerson(dModule->UserId, pay, printerOPOS->CheckId+1))
|
||||
dModule->OraSession1->Commit();
|
||||
else
|
||||
{isOk=false; dModule->OraSession1->Rollback();}
|
||||
}
|
||||
}else //false - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(dModule->BalanceType) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(dModule->addPayPhysicalPerson(dModule->UserId, pay, printerOPOS->CheckId+1))
|
||||
dModule->OraSession1->Commit();
|
||||
else
|
||||
{isOk=false; dModule->OraSession1->Rollback();}
|
||||
}else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
{
|
||||
if(dModule->addPayPhysicalPerson(dModule->UserId, pay, printerOPOS->CheckId+1))
|
||||
dModule->OraSession1->Commit();
|
||||
else
|
||||
{isOk=false; dModule->OraSession1->Rollback();}
|
||||
}
|
||||
}
|
||||
}catch(...){isOk=false;}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(!isOk)
|
||||
{
|
||||
if(dModule->BalanceType)
|
||||
dModule->savePay(1,dModule->UserType,dModule->UserId,pay,printerOPOS->CheckId+1); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
else
|
||||
dModule->savePay(2,dModule->UserType,dModule->UserId,pay,printerOPOS->CheckId+1); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user