예제 #1
0
HRESULT CRunErr::OnDemandRuntimeError(ebWORD wLinNr)
{
// testen, ob im richtigen Kontext verwendet
	ASSERT (!m_fRunModal);

// evtl. Debuggerfenster erzeugen
	m_fRTError = true;

	if (NULL == m_pScriptDebugger) {
	HRESULT hr = CreateDebugger();

		if (FAILED(hr)) 
			return hr;
		ASSERT(NULL != m_pScriptDebugger);
	}

	ebDebugger_SelectLines(GetDebuggerWnd(), wLinNr-2, wLinNr-1, true);

// jetzt, wo alles fertig ist, anzeigen
	m_pScriptDebugger -> EditOnly();	// UI richten, kein GO etc. möglich
	m_pScriptDebugger -> ShowWindow (SW_SHOWNORMAL);
	m_pScriptDebugger -> UpdateWindow();

return NOERROR;
}
예제 #2
0
파일: runerr.cpp 프로젝트: hkaiser/TRiAS
HRESULT CRunErr::CreateDebugger(UINT uiWMClose, BOOL fOpen, ebWORD wLineNr, IObjectManagement *pIOM, IStreamInfo *pISI)
{
	ASSERT(!m_strName.IsEmpty());
	if (m_strName.IsEmpty()) return E_INVALIDARG;

	EnableTriasWindow(false);
	
	HRESULT hr = NOERROR;
	
	// Neuen Debugger kreieren, Baum füllen, DebCtrl init.
	if (NULL == m_pScriptDebugger)
		hr = ::CreateDebugger(g_pBSE -> MWind(), m_strName, fOpen, uiWMClose, pIOM, pISI, &m_pScriptDebugger);
	else // Nur neuen Script öffnen
		hr = m_pScriptDebugger -> Init(m_strName, fOpen, pIOM, pISI);

	if (FAILED(hr)) return hr;
	
	m_pScriptDebugger -> SetEditOnly(true);// Nur editieren möglich	
	ebDebugger_SelectLines(GetDebuggerWnd(), wLineNr-2, wLineNr-1, true);
	
	return hr;
}