Я занимаюсь разработкой COM-объекта, который должен работать на C #, а также на VBScript.Также он должен поддерживать 32 и 64 бита.
У меня проблема с указателями.См. Часть моего .IDL
HRESULT Copy([in] PTRTYPE destAddr, [in] PTRTYPE srcAddr, [in] int bytes);
Если я объявлю PTRTYPE как void *, c # увидит их как IntPtr, а VB6 / VBScript увидит их "как угодно"
Проблема с этим подходомявляется то, что я не могу сделать более простую математику указателя с параметрами типа «Any».
Если я объявляю PTRTYPE как long (и «гипер» в 64 битах), теперь я могу сделать математику указателя, но в C # у меня есть два разныхопределения для одного и того же метода в зависимости от 32/64-битной платформы.
Я хочу не использовать VARIANT в качестве типа PTRTYPE.
Есть ли способ сделать его совместимым как с C #, так и с VBScript?
Заранее спасибо, Мауро.