перевод с С++

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

перевод с С++

Сообщение Sebas » 31.08.2003 (Вс) 18:06

HRESULT AttachToSession(
[in] IFWXSession *piSession,
[out] IFWXSessionFilter ** piSessionFilter,
[out] PFwxFilterHookEvents *ppFilterHookEvents
);

Переношу с С на VB
объяните в чём разница

[out] IFWXSessionFilter ** piSessionFilter,

и

[out] PFwxFilterHookEvents *ppFilterHookEvents


то есть чем * отсличается от **?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 31.08.2003 (Вс) 18:44

ну визуально отличается колличеством символов, а по смыслу не знаю.. :wink:

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 01.09.2003 (Пн) 7:53

Чтобы на это ответить, нужно знать С. А это форум по VB.

Но...

[out] IFWXSessionFilter ** piSessionFilter,
- это возврат значения типа IFWXSessionFilter*, т.е. это возврат интерфейсного указателя, допустим, таким образом:
Код: Выделить всё
IFWXSessionFilter* pMyObject;
AttachToSession( ...,  & pMyObject, ... );


[out] PFwxFilterHookEvents *ppFilterHookEvents
- это возврат значения типа PFwxFilterHookEvents. Как правило, в С от Микрософт префикс P означает указатель на тип, находящийся после буквы P, т.е.
Код: Выделить всё
typedef FwxFilterHookEvents*  PFwxFilterHookEvents;


Таким образом, отличий особенных нет. Просто есть сокращение:
Код: Выделить всё
[out] PFwxFilterHookEvents *ppFilterHookEvents
или
[out] FwxFilterHookEvents* *ppFilterHookEvents
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 02.09.2003 (Вт) 8:51

HRESULT AttachToSession(
[in] IFWXSession *piSession,
[out] IFWXSessionFilter ** piSessionFilter,
[out] PFwxFilterHookEvents *ppFilterHookEvents
);


IFWXSessionFilter ** piSessionFilter - это же указатель на массив указателей(таким образом выделяется место для двумерных массивов) :!: :!: :!:
PFwxFilterHookEvents *ppFilterHookEvents - обычный линейный массив

только вот вопрос вызывает [in] и [out] честно говоря ни разу не видел :?
Ничто так не ограничивает полёт мысли программиста, как компилятор

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.09.2003 (Вт) 9:26

Это как раз не вопрос :)
Через [in] передаём параметры
Через [out] имеем результат
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 02.09.2003 (Вт) 9:47

ну смысл понятен :) только вот чтобы кто-нибудь так писал не видел
Ничто так не ограничивает полёт мысли программиста, как компилятор

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 04.09.2003 (Чт) 18:29

corgi писал(а):ну смысл понятен :) только вот чтобы кто-нибудь так писал не видел


Вообщето MS ISA 2000 SDK :lol:

При подключении к .NET выдал такой интефес

HRESULT AttachToSession(
[in] IFWXSession *piSession,
[out] IFWXSessionFilter ** piSessionFilter,
[out] PFwxFilterHookEvents *ppFilterHookEvents
);

Sub AttachToSession(
ByVal piSession As IFWXSession,
ByRef piSessionFilter As IFWXSessionFilter,
ByRef ppFilterHookEvents as ObjPtr!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
)

Это может Быть?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

fila
Обычный пользователь
Обычный пользователь
 
Сообщения: 58
Зарегистрирован: 04.02.2002 (Пн) 21:20

Сообщение fila » 06.09.2003 (Сб) 0:10

> [out] PFwxFilterHookEvents *ppFilterHookEvents

> ByRef ppFilterHookEvents as ObjPtr
странный какой-то синтаксис. :\

смотрим первоисточник.
( http://www.microsoft.com/downloads/details.aspx?FamilyId=BD8258AB-030E-4484-88DF-A92BA650F206&displaylang=en )
это же указатель на обычную структутру:

> typedef struct {
> DWORD dwGlobalEvents;
> DWORD dwNumPortRanges;
с этими двумя понятно

> PortRangeEvents * PortRangeEvents;
а это указатель на массив структур

> } FwxFilterHookEvents;

я бы начал ковыряться с Unmanaged типами. может, я ошибаюсь, в любом случае, попробовать ничего не мешает.

тут даже пример нашелся:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconoutarrayofstructssample.asp


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: PetalBot и гости: 15

    TopList