Добавляя методы к COM классу в ATL с помощью Add Method:
У нас возникает две задачи. Толи метод для ввода данных в класс, толи для вывода. Для ввода необходимо иcпользовать [in], смотрите как на рисунке:
Для вывода надо использовать [out]:
И соответственно реализация функций для ввода:
STDMETHODIMP CMin::FirstValue(double dFirst) { // TODO: Add your implementation code here dMin=dFirst; return S_OK; }
Для вывода:
STDMETHODIMP CMin::GetMin(double *GetMin) { // TODO: Add your implementation code here *GetMin=dMin; return S_OK; }
Обратите внимание, что вывод производится через значение указателя. Обращения на VB будет выглядеть так.
Dim tempDouble As Double MinFunct.GetMin (tempDouble) ResultTxt = Str(tempDouble)