Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Не подскажите, как переводиться с С++ вот это...   Найти похожие ветки 

 
Cosinus ©   (2005-02-09 11:05) [0]

_GetNumDevices(&dwNumDevices);
Интересует знак& перед переменной.


 
VictorT ©   (2005-02-09 11:12) [1]

Значит, что функция может вернуть значение в аргумент.


 
uw ©   (2005-02-09 11:20) [2]

Это вызов функции, при этом передается адрес переменной dwNumDevices.


 
wal ©   (2005-02-09 11:32) [3]

Передача ссылки.
Для делфи в декларации процедуры этот параметр указываешь как var, а при вызове просто (dwNumDevices).

С уважением.


 
Romkin ©   (2005-02-09 11:32) [4]

Передача по ссылке :) Фактический аналог - var-параметры в Паскале


 
KSergey ©   (2005-02-09 12:45) [5]

Эта, люди...
Я вот читаю ваши ответы - и что-то не догоняю...
Все ответили разное. Где-то из одной оперы "вообще", но никак не на конкретный вопрос.

По-моему, правильно - лишь

> [2] uw ©   (09.02.05 11:20)
> Это вызов функции, при этом передается адрес переменной
> dwNumDevices.

Ведь написан именно вызов функции, но явно не прототип (нет типа). А потому говорить про var - не корректно. Ну только как общая аналогия, не имеющая ничего общего с конкретным случаем. Передается просто указатель на переменную, вот и все...


 
uw ©   (2005-02-09 12:59) [6]

wal ©   (09.02.05 11:32) [3]
Romkin ©   (09.02.05 11:32) [4]


То, о чем вы говорите, в С++ выглядит так:

void _GetNumDevices(int & aNumDevices);

А вызывается так:

_GetNumDevices(dwNumDevices);

Это действительно фактический аналог var-параметра.


 
Romkin ©   (2005-02-09 13:04) [7]

А, так? Сенькс. Значит, данный случай - аналог @ :))
_GetNumDevices(NumDevices: pointer); - типизованный, скорее всего PInteger
_GetNumDevices(@dwNumDevices);
Так? :)


 
uw ©   (2005-02-09 13:06) [8]

Да, у Cosinus © декларация примерно такая:

void _GetNumDevices(int * aNumDevices);

т.е. параметр - указатель.


 
Cosinus ©   (2005-02-09 13:43) [9]

Всем спасибо :)
> Romkin ©   (09.02.05 13:04) [7]
PDWord ;)


 
07BB:080Dh   (2005-02-09 13:56) [10]

Romkin ©   (09.02.05 13:04) [7]

GetNumDevices(var NumDevices: pointer);
_GetNumDevices(void* &wNumDevices);


 
марсианин ©   (2005-02-09 14:34) [11]


> void _GetNumDevices(int * aNumDevices);

_GetNumDevices(PDWORD dwNumDevices);
что эквивалентно
_GetNumDevices(unsigned * dwNumDevices);
по поводу возвращаемого типа однозначно ничего сказать нельзя..


 
Cosinus ©   (2005-02-09 15:20) [12]

Если кому интересно, нашел описание на нее. Спорам конец :)))
_GetNumDevices
Description: This function returns the number of connected to the host.

Prototype: _Status _GetNumDevices(LPDWORD NumDevices)

Parameters: NumDevices-Address of a DWORD variable that will contain the number of devices connected on return.

Return Value: DWORD


 
Romkin ©   (2005-02-09 16:46) [13]

В переводе, значит,
function _GetNumDevices(NumDevices: PDWORD): DWORD; stdcall;
Кстати, function _GetNumDevices(var NumDevices: DWORD): DWORD; stdcall; тоже проглотит и не поморщится :)) Вот только stdcall али cdecl?



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
1-1108082672
Homa_Programer
2005-02-11 03:44
2005.02.27
картинки


1-1108069505
bot v0.00000001
2005-02-11 00:05
2005.02.27
дробная часть


3-1107239879
ocean
2005-02-01 09:37
2005.02.27
Как корректно создать DBF?


1-1108538265
rezo
2005-02-16 10:17
2005.02.27
Остановка службы


1-1108282334
Bogdan
2005-02-13 11:12
2005.02.27
Исчезающая форма