powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / код на Vb6 в код на VB.NET ???
3 сообщений из 3, страница 1 из 1
код на Vb6 в код на VB.NET ???
    #32328054
_ss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
_ss
Гость
1. Подскажите плз, как в своих приложениях на VB6 заменить ф-ции VarPtr, StrPtr, ObjPtr. Я читал, что где-то в дебрях System.Runtime.InteropServices, но где там и как этим пользоваться.
2. Как использовать CopyMemory в VB.NET или есть замена ей. В мох приложениях часто используются выше указанные ...Ptr в ф-ции CopyMemory и вот я застрял.
3. Имеются два UDT:
Public Type X
b1 As Byte
b2 As Byte
b3 As Byte
b4 As Byte
End Type
Public Type Y
n As Integer
End Structure
в VB6 я делал так:

Dim mLong As Y

mLong = LSet(X),

а как это будет в VB.NET.

Большое спасибо.
...
Рейтинг: 0 / 0
код на Vb6 в код на VB.NET ???
    #32328057
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том что скорее всего в .NET есть инструменты для решения твоей проблемы, но ИМХО она не в поиске замены указателям из старого васика, тут насколько я знаю, все обьектные переменные являются указателями. Что конкретно ты хочешь сделать? Да CopyMemory , но для чего?
...
Рейтинг: 0 / 0
код на Vb6 в код на VB.NET ???
    #32332209
_ss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
_ss
Гость
Это касается субкласирования. Я ассоциировал объект с сообщением (объект в виде адреса через ObjPtr), которое надо

ловить и когда в WinProc оно наступало, то получал этот адрес и присваивал его интерфейсному классу
так : CopyMemory IClass, pAddrObj, 4. А далее собщение отправлялось субклассированному объекту. В сети встретил

пару примеров работы с CopyMemory через Marshal, но это, мне кажется не то кино. Эти ф-ции выделяют память для

объекта, пишут туда инфу, а затем через CopyMemory читают ее. Но мой объект уже существует в памяти??? И еще

прочитал, что указатели вообще не поддерживаются в управляемой памяти (пока не врубился что это за зверь такой).
Пробовал и так :
Private Function VarPtr(ByVal Target As Object) As Integer

Dim GC As System.Runtime.InteropServices.GCHandle = _
System.Runtime.InteropServices.GCHandle.Alloc(Target, _
System.Runtime.InteropServices.GCHandleType.Pinned)

Dim ret As Integer = GC.AddrOfPinnedObject.ToInt32
GC.Free()
Return ret
End Function

но выдает ощибку с какими-то новыми словечками.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / код на Vb6 в код на VB.NET ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]