Страница 1 из 1

Как реализовать _NewEnum

СообщениеДобавлено: 22.10.2015 (Чт) 13:29
ger_kar
Каким образом возможно в PowerBasic реализовать в коллекции метод _NewEnum, чтобы использовать такую коллекцию с VB6 например? Т.е. сложность не в самом коде реализации, а в том, что PowerBasic такое имя метода как _NewEnum воспринимать не желает не под каким соусом.
При использовании в своем коде такого метода, когда он реализован в сторонних компонентах, особой проблемы не вызывает, так как метод можно вызвать либо по DispID, либо по смещению в Vtbl. В вот воткнуть такой метод в свой объект оказалось задачей не тривиальной.

Re: Как реализовать _NewEnum

СообщениеДобавлено: 22.10.2015 (Чт) 17:04
The trick
А реализовать IEnumVariant на PB можно? Если тебе интересно то я делал такую реализацию на ассемблере.

Re: Как реализовать _NewEnum

СообщениеДобавлено: 23.10.2015 (Пт) 13:21
jangle
ger_kar писал(а):Каким образом возможно в PowerBasic реализовать в коллекции метод _NewEnum, чтобы использовать такую коллекцию с VB6 например?


Поищи в POFFS примеры, по _NewEnum там куча топиков находится

Re: Как реализовать _NewEnum

СообщениеДобавлено: 23.10.2015 (Пт) 13:35
ger_kar
The trick писал(а):А реализовать IEnumVariant на PB можно? Если тебе интересно то я делал такую реализацию на ассемблере.
Реализовать то конечно можно, только вариантов такой реализации может быть несколько. Я соответственно решил сделать такую штуку, поэтому реализация IDispatch должна быть не совсем стандартной, поэтому стандартная реализация вряд ли подойдет.

jangle писал(а):Поищи в POFFS примеры, по _NewEnum там куча топиков находится
Надо скачать этот POFFS, посмотреть что это такое. На снимках мне понравилось :)

Re: Как реализовать _NewEnum

СообщениеДобавлено: 23.10.2015 (Пт) 14:31
jangle
ger_kar писал(а):Надо скачать этот POFFS, посмотреть что это такое. На снимках мне понравилось :)


Если пишешь на PB то обязательно надо скачать. Только найди последнюю версию. Это как МСДН для Visual Studio.