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

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

Pointer --->Integer-->String, как? [D7, WinXP]


The One ©   (2005-10-20 19:12:00) 

Здравствуйте уважаемые.
В своем приложении мне необходимо отлавливать одну из функций работающих с реестром - function RegSetValueEx(hKey: HKEY;  lpValueName: LPCTSTR; Reserved: DWORD; dwType: DWORD; lpData: Pointer; cbData: DWORD):dword;stdcall;
Параметр lpData, как я понимаю, это указатель на область памяти, которая в свою очередь может хранить как целочисленную так и строковую информацию (а так же ряд других типов). В функции двойнике, подменяющей собою оригинал мне необходимо получить эту инфу и преобразовать её в тип string.
На данный момент тупо пишу string(lpData)и все работает на ура до тех пор пока я не начинаю из "подопытной" программы слать в реестр числа. Собственно, вопрос в том, как в данном случае привести тип pointer к скажем типу integer (чтобы затем выполнить inttostr)?

ЗЫ: Сорри за словоблудие, это лишь попытка подробнее описать проблемму, дабы получить вразумительный ответ :)


GrayFace   (2005-10-25 11:11:00) [1]

dwType

Specifies the type of information to be stored as the value's data. This parameter can be one of the following values:

Value Meaning
REG_BINARY Binary data in any form.
REG_DWORD A 32-bit number.
REG_DWORD_LITTLE_ENDIAN A 32-bit number in little-endian format (same as REG_DWORD). In little-endian format, the most significant byte of a word is the high-order byte. This is the most common format for computers running Windows NT and Windows 95.
REG_DWORD_BIG_ENDIAN A 32-bit number in big-endian format. In big-endian format, the most significant byte of a word is the low-order byte.
REG_EXPAND_SZ A null-terminated string that contains unexpanded references to environment variables (for example, "%PATH%"). It will be a Unicode or ANSI string depending on whether you use the Unicode or ANSI functions.
REG_LINK A Unicode symbolic link.
REG_MULTI_SZ An array of null-terminated strings, terminated by two null characters.
REG_NONE No defined value type.
REG_RESOURCE_LIST A device-driver resource list.
REG_SZ A null-terminated string. It will be a Unicode or ANSI string depending on whether you use the Unicode or ANSI functions.


Джо   (2005-10-22 21:07:00) [2]

Удалено модератором
Примечание: Offtopic


wp2   (2005-10-22 16:22:00) [3]

Удалено модератором
Примечание: Offtopic


umbra   (2005-10-20 19:18:00) [4]

integer(mypointer^)

Но надо при этом проверять размер данных, чтобы убедиться, что это integer, а не скажем, Int64.


Наверх

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