线程,stl

来源:互联网 发布:小区网络方案 编辑:程序博客网 时间:2024/06/11 01:45

void CDiagramListDlg::RunFunction3_3_13(DWORD dwID)

{

CSoapThread *pThread = (CSoapThread*)AfxBeginThread(RUNTIME_CLASS(CSoapThread), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);

pThread->functionType = FUN3_3_13;

////////////////////////////////////////////////////lrb_modify

CString strID = _T("");

m_arGraphList.Lookup(dwID,strID);

pThread->GrahpID = strID;

//////////////////////////////////////////////////////////////

pThread->m_dwSvgId = dwID;

pThread->m_pDiagramDlg = this;

pThread->ResumeThread();

}

void CDiagramListDlg::RunFunction3_3_1(CString csName)

{

CString csRight = csName;

int pos = 0;

std::vector<CString> vecCimName;

while (true)

{

pos = csRight.Find("_",0);

if (pos != -1)

{

CString csCimName = csRight.Left(pos);

vecCimName.push_back(csCimName);

csRight = csRight.Right(csRight.GetLength()-pos-1);

}

else

{

vecCimName.push_back(csRight);

break;

}

}

m_iCount = vecCimName.size();

for (int i=0;i<vecCimName.size();i++)

{

CSoapThread *pThread = (CSoapThread*)AfxBeginThread(RUNTIME_CLASS(CSoapThread), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);

pThread->m_csCimName = vecCimName[i];

pThread->functionType = FUN3_3_1;

pThread->m_pDiagramDlg = this;

pThread->ResumeThread();

}

}

/////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////

//这个线程类中定义了4个函数,用来发送4种类型的消息

//////////////////////////////////////////////////////////////////////////

#if !defined(AFX_SOAPTHREAD_H__FC271F7C_21CF_4E27_8849_157128DC365A__INCLUDED_)

#define AFX_SOAPTHREAD_H__FC271F7C_21CF_4E27_8849_157128DC365A__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

// SoapTHread.h : header file

//

#include "DiagramListDlg.h"

#include "..\Includes\SoapInterface.h"

/////////////////////////////////////////////////////////////////////////////

// CSoapThread thread

class CSoapThread : public CWinThread

{

DECLARE_DYNCREATE(CSoapThread)

protected:

CSoapThread();           // protected constructor used by dynamic creation

// Attributes

public:

void Fun3_3_13(); //获得SVG图形数据

void Fun3_3_1();

void Fun3_3_2();    //根据馈线ID获取CIM模型

void Fun3_3_4(); //获得专题图列表

void Fun3_3_14(); //获取系统图关联的馈线

CString GrahpID;

// Operations

public:

//线程功能

EmFuctionType functionType;

//用来接收消息的窗口,同时让本线程能操作其界面

CDiagramListDlg* m_pDiagramDlg;

//3.3.13所需的ID

DWORD m_dwSvgId;

//用来保存3.3.1所需的线路名

CString m_csCimName;

//用来保存3.3.2所需的线路ID

CString m_csCimID;

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CSoapThread)

public:

virtual BOOL InitInstance();

virtual int ExitInstance();

//}}AFX_VIRTUAL

// Implementation

protected:

virtual ~CSoapThread();

public:

long nSize;

TI_GraphArray GraphArray;

// Generated message map functions

//{{AFX_MSG(CSoapThread)

// NOTE - the ClassWizard will add and remove member functions here.

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SOAPTHREAD_H__FC271F7C_21CF_4E27_8849_157128DC365A__INCLUDED_)

///////////////////////////////////////////

vector < int > m_vecFeederID;

vector < CManagerInfo > m_vecTreeInfo;

vector < CManagerInfo > m_vecListDNAS;

vector < CCompany > m_vecListKKX;

vector < CStringArray * > m_vecKKXUser;

CMessageInfoDlg m_MegDlg;

//////////////////////////////////////////////////////////////////////////////

///////////lrb_增加数据库提交信息//////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////

vector < CManagerInfo > m_vecListDNASFlag;

vector < CManagerInfo > m_vecListDNASToTreeFlag;

vector < CCompany > m_vecListKKXYHFlag;

vector < CManagerInfo > m_vecListDNASXDFlag;

vector < CManagerInfo > m_vecListDNASXDToTreeFlag;

vector < CCompany > m_vecListKKXXDFlag;

vector < CManagerInfo > m_vecDistinctInfo;////数据库提交标识,记录不同的信息

vector < CManagerInfo > m_vecListKKXBM;

vector < CManagerInfo > m_vecListKKXYHBM;

vector < CManagerInfo > m_vecBGFeeder;

vector < CManagerInfo > m_vecFeederVersion;

vector < CManagerInfo > m_vecListFeeder;

vector < CZYYHSJ > m_vecListZYYH;

int m_Flag;//数据库提交标识

int m_ZcrqFlag;//数据库提交标识

CManagerInfo tempManager;

m_vecListDNASFlag.push_back(tempManager);

vector < CManagerInfo > ::iterator itrDNA = m_vecListDNASFlag.begin();

for(; itrDNA != m_vecListDNASFlag.end(); itrDNA ++)

{

}

int ncount = m_vecListDNASFlag.size();

vector < CManagerInfo > ::iterator itrDNAS = m_vecListDNASFlag.begin();

for(; itrDNAS != m_vecListDNASFlag.end(); itrDNAS++)

原创粉丝点击