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

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

Туплю с GlobalAlloc [D7, XP]


Vovan #2 ©   (2007-01-17 00:41:00) 

Написано:
GMEM_FIXED  
Выделяет фиксированную память. Возвращаемое значение указатель.

Я пишу:
var Buf: Pointer;
Buf := GlobalAlloc(GMEM_FIXED, BufLen);

Мне пишет:
Incompatible types "Cardinal" and "Pointer".

В чём прикол?


Германн   (2007-01-17 02:39:00) [1]

В догонку. Слэнг пользует словечко "кастить" :)


Германн   (2007-01-17 02:24:00) [2]


> Теперь ясно. Надо кастовать.
>

Не спутай с другим глаголом, у которого первые 4 символа такие же :)


Vovan #2   (2007-01-17 01:53:00) [3]

Allocates fixed memory. This flag cannot be combined with the GMEM_MOVEABLE or GMEM_DISCARDABLE flag. The return value is a pointer to the memory block. To access the memory, the calling process simply casts the return value to a pointer.

Теперь ясно. Надо кастовать.


Германн   (2007-01-17 01:31:00) [4]


> Vovan #2   (17.01.07 01:11) [2]
>
> А почему справка врёт?
>

В Д6 не врёт!
HGLOBAL GlobalAlloc(
   UINT uFlags, // object allocation attributes
   DWORD dwBytes  // number of bytes to allocate  
  );
...
Return Values
If the function succeeds, the return value is the handle of the newly allocated memory object.


Vovan #2   (2007-01-17 01:11:00) [5]

А почему справка врёт?


Zeqfreed   (2007-01-17 01:05:00) [6]

Наверное, потому, что ф-ция возвращает HGLOBAL, а не Pointer?


Наверх

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