Пример #1
0
STDMETHODIMP CCodeLine::DoAction (IDataObject *pIDataObj, DWORD dwReserved)
{

	m_iErrorCode = m_pCfgDlg->GetErrorCode();


// Eingabeobjekte einfach mit zu unserer Objektmenge hinzufügen
	COM_TRY {
	WEnumLONG EnumObjs;
	OutEnumLONG iter_out_if (&m_Objects);

		THROW_FAILED_HRESULT(PropActBase::GetEnumObjects (pIDataObj, __uuidof(IEnumLONG), EnumObjs.ppv()));
		copy (InEnumLONG(EnumObjs), InEnumLONG(), iter_out_if);

	} COM_CATCH;
	return S_OK;
}
Пример #2
0
STDMETHODIMP CSelectExportObjects::DoAction (IDataObject *pIDataObj, DWORD dwReserved)
{
// Eingabeobjekte einfach mit zu unserer Objektmenge hinzufügen
	if (NULL != pIDataObj) {
	// evtl. keine Eingabeobjektmenge gegeben

		COM_TRY {
		// aber nur Objekte der geforderten Datenquellen übernehmen
		WEnumLONG EnumObjs;
		OutEnumLONG iter_out (&m_Objects);

			if (S_OK == GetEnumLONGData (pIDataObj, __uuidof(IEnumLONG), EnumObjs.ppv()))
			{
				remove_copy_if (InEnumLONG(EnumObjs), InEnumLONG(), iter_out, 
					CObjectToCopy(m_setDataSources));
			}

		} COM_CATCH;
	}