Программирую
в среде C++ Builder 6.0
Использую:
MapObjects2
Столкнулся с
такой проблемой, что не могу читать
собственные ODS, т.к. компонент TMap
постоянно при
любых манипуляциях с картой генерирует
отладочные строки вида:
ODS: Inv(12) OK, 0x0,
retVT(0x1), ErrArg(0)
ODS: Inv(2) OK, 0x0,
retVT(0x1), ErrArg(0)
ODS: Inv(11) OK, 0x0,
retVT(0xB), ErrArg(0)
ODS: Inv(4) OK, 0x0,
retVT(0x9), ErrArg(0)
Долго не мог
понять кто печатает эти ODS, т.к. проект
у меня содержим множество чужих модулей.
Однако для
тестирования собрал элементарный
проект.
Форма, на ней
Map1 и кнопка «Button1» и все
void __fastcall
TForm1::Button1Click(TObject *Sender)
{
Map1->Refresh();
}
//---------------------------------------------------------------------------
После нажатия
получаю опять ту же фигню.
ODS: Inv(-550) OK, 0x0,
retVT(0x1), ErrArg(0)
Если написать
такой код:
Map1->set_Extent(Map1->FullExtent);
То получим:
ODS: Inv(6) OK, 0x0,
retVT(0x9), ErrArg(0)
ODS: Inv(5) OK, 0x0,
retVT(0x1), ErrArg(0)
Подскажите
пожалуйста как избавиться от печати
этих ODS.
P.S.
В файле
«C:\Program Files\Borland\CBuilder6\Source\vcl\utilcls.h»
нашел код:
...
// Output a little
trace
OLETRACE(_T("Inv(%d)
%s, 0x%lX, retVT(0x%X), ErrArg(%d)\n"),
dispid,
SUCCEEDED(hr) ? _T("OK") : _T("FL"), LONG(hr),
retVal ?
retVal->vt : VT_NULL, m_ErrArg);
// Return result
return hr;
}
Но это мне пока
мало помогло. Куда и как внести изменения,
чтобы убрать печать
ODS ведь
OutputDebugString по сути нужны для отладки, а
не во время работы приложения.
Заранее
благодарю!
С уважением,
Валерий