Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WNetEnumResource в чём ошибка? [D7, Win2k]


nejest ©   (2003-12-22 16:40:00) 

Взал пример с http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621104&n=20
но на строке
Result:=WNetEnumResource( EnumHandle, Entries, @Buf, BufSize);
Delphi выдаёт 2 ошибки:
Types of actual and formal var must be identitical


Yaro   (2003-12-23 05:18:00) [1]

Если бы ты был достаточно внимательным, то написав имя функции и открывающую скобочку (или просто нажав CTRL+SHIFT+SPACE внтури скобок функции) ты бы увидел следующее:

hEnum: Cardinal; var lpcCount: Cardinal; lpBuffer: Pointer; var lpBufferSize: Cardinal

И хорошо присмотревшись к описаниям переменных, участвующий в этом участке кода, ты бы увидел следующее:

EnumHandle : THandle;
Buf : Array[1..500] of TNetResource;
BufSize : Integer;
Entries : Integer;

Так как THandle = LongWord, а LongWord - это тот же Cardinal (unsigned DWORD), то здесь ошибки нет, а вот в описании переменных BufSize и Entries - есть, так как Integer - это signed DWORD.

Вот мы и нашли твои две ошибки, попытайся в следующий раз быть немного внимательнее, чтобы не захламлять форум подобными вопросами.

Желаю успехов в ваших начинаниях.

P.S.: Дело в том, что он бы и не матюкался, если бы там небыло var-параметров, такое строгое соответствие типов необходимо только в данном случае.


Наверх

Титульная страница Поиск, карта сайта Написать письмо