Initial commit
This commit is contained in:
+122
@@ -0,0 +1,122 @@
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#include <vcl.h>
|
||||
#include <stdio.h>
|
||||
#pragma hdrstop
|
||||
|
||||
#include "UpgradeThread.h"
|
||||
#include "UpgradeUnit.h"
|
||||
//---------------------------------------------------------------------------
|
||||
#pragma package(smart_init)
|
||||
#pragma resource "*.dfm"
|
||||
TUpgradeForm *UpgradeForm;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
__fastcall TUpgradeForm::TUpgradeForm(TComponent* Owner)
|
||||
: TForm(Owner)
|
||||
{
|
||||
m_pThread = NULL;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpgradeForm::CreateParams(TCreateParams &Params)
|
||||
{
|
||||
TForm::CreateParams(Params);
|
||||
|
||||
// wcscpy(Params.WinClassName.data, (LPCTSTR)APPNAME);
|
||||
wcscpy(Params.WinClassName, (LPCTSTR)APPNAME);
|
||||
}
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
void __fastcall TUpgradeForm::FormDestroy(TObject *Sender)
|
||||
{
|
||||
if( m_pThread ){
|
||||
((TUpgradeThread*)m_pThread)->Cancel();
|
||||
m_pThread->WaitFor();
|
||||
|
||||
delete m_pThread;
|
||||
m_pThread = NULL;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpgradeForm::FormCloseQuery(TObject *Sender, bool &CanClose)
|
||||
{
|
||||
if( m_pThread ){
|
||||
String msg = m_iMode==1 ? L"正在处理中,确认退出程序?"
|
||||
: L"正在升级中,是否确定中止?";
|
||||
|
||||
int mrRet = MessageBox(Handle, msg.c_str(), L"退出",
|
||||
MB_ICONQUESTION | MB_YESNO);;
|
||||
|
||||
if( mrRet==mrNo )
|
||||
CanClose = false;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpgradeForm::FormShow(TObject *Sender)
|
||||
{
|
||||
Caption = m_iMode==0 ? L"自动升级程序"
|
||||
: L"MD5生成程序";
|
||||
|
||||
m_pThread = new TUpgradeThread(true, m_iMode, m_idSoft, m_sVar, Handle );
|
||||
m_pThread->Start();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpgradeForm::UMShowText(TMessage &msg)
|
||||
{
|
||||
TCHAR* str = (TCHAR*)msg.LParam;
|
||||
if( msg.WParam==0 )
|
||||
m_lblTxt->Caption = str;
|
||||
else if( msg.WParam==1 )
|
||||
m_lblFileCount->Caption = str;
|
||||
else
|
||||
m_lblFileName->Caption = str;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpgradeForm::UMProgress(TMessage &msg)
|
||||
{
|
||||
if( msg.WParam==0 ){
|
||||
m_progCount->Position = msg.LParam;
|
||||
m_progCount->Update();
|
||||
}
|
||||
else{
|
||||
m_progFile->Position = msg.LParam;
|
||||
m_progFile->Update();
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TUpgradeForm::UMComplete(TMessage &msg)
|
||||
{
|
||||
if( m_pThread ){
|
||||
m_pThread->WaitFor();
|
||||
|
||||
delete m_pThread;
|
||||
m_pThread = NULL;
|
||||
}
|
||||
|
||||
if( m_iMode==0 ){
|
||||
if( msg.WParam!=0 )
|
||||
ShowMessage( "本次更新未能完成" );
|
||||
}
|
||||
else if( m_iMode==1 ){
|
||||
if( msg.WParam==0 )
|
||||
ShowMessage( "处理完毕" );
|
||||
else
|
||||
ShowMessage( "异常中止" );
|
||||
}
|
||||
|
||||
Close();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TUpgradeForm::CancelClick(TObject *Sender)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user