Копирую строку по указателю. Помогите с CopyMemory

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

Копирую строку по указателю. Помогите с CopyMemory

Сообщение Jupiter » 27.03.2006 (Пн) 19:06

Здравствуйте.
В мою программу из DLL приходит С-подобная строка, доступная по указателю. Указатель уже представлен числом

StrPtr AS Long

Дальше я должен скопировать строку в некий буфер функцией:

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Count As Long)

А потом из буфера посимвольно загнать в бейсиковскую строку.

У меня вопрос по исползованию функции CopyMemory. Как объяснить ей, что указатель уже преобразован к Long?

Ведь если я напишу
CopyMemory Buff, StrPtr, Count
то будет скопировано значение указателя.

Спасибо.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.03.2006 (Пн) 19:23

Вообще-то CopyMemory Buff, ByVal StrPtr, Count

Но лучше юзай SysAllocString, и будет тебе щасте :-)
Изображение

Jupiter
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 17.01.2006 (Вт) 12:34

Сообщение Jupiter » 28.03.2006 (Вт) 16:40

tyomitch писал(а):Вообще-то CopyMemory Buff, ByVal StrPtr, Count
Но лучше юзай SysAllocString, и будет тебе щасте :-)

С П А С И Б О ! ! ! ! ! ! !


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

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

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

    TopList