Я разработал класс C ++ для доступа к защитному ключу программного обеспечения по USB.Класс C ++ был разработан с g ++ под Linux, но я могу успешно скомпилировать его, используя MinGW под Windows.У меня есть научное приложение, созданное с использованием VB6 (Visual Basic 6).
Вопрос в том, как я могу представить свой класс C ++ приложению VB6?Каковы возможные способы сделать это?Нужно ли использовать COM?(Что ж, решение «без Microsoft» более предпочтительно:)
Ваша помощь очень ценится!
Обновление 1. Читая ваши комментарии, я понял, что мне нужнореализовать оболочку COM для класса C ++.Есть ли хорошие и свежие примеры вокруг?Могу ли я реализовать оболочку COM, используя MinGW (и избегая MSVC)?
Обновление 2. Наконец, я решил предложить вознаграждение за этот вопрос.Ниже приведены вещи, которые я хотел бы понять лучше:
1. Я понял, что мне нужно реализовать оболочку COM для моего класса C ++.Может кто-нибудь предоставить мне рабочий пример того, как сделать это для такого класса:
class ValueMapper
{
public:
ValueMapper( ) { }
ValueMapper( double fmin, double fmax, int ilength ) {
SetMapping( fmin, fmax, ilength );
}
inline double GetMin() { return min; }
inline double GetMax() { return max; }
inline int GetLength() { return length; }
virtual inline void SetMapping( double fmin, double fmax, int ilength )
{
min = fmin;
max = fmax;
length = ilength;
}
virtual inline int MapValue( double value ) {
double factor = length / (max - min);
return (int)RoundTo( (value-min) * factor );
}
static double RoundTo( double value, double eps = 1 ) {
return floor(value/eps + 0.5) * eps;
}
protected:
double min;
double max;
int length;
};
2. Как использовать получившуюся оболочку COM из VB6?Нужно ли регистрировать COM-сервер или около того?Могу ли я использовать его без регистрации?
3. Дополнительно.Можно ли реализовать оболочку COM с помощью MinGW?