Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Указатель в типе Добавлено: 28.04.04 12:04  

Автор вопроса:  LamerOnLine | ICQ: 334781088 

Народ, у меня ща голова совсем не варит, подскажите.

Как в пользовательском типе передать указатель на строку? ByRef там уже не катит, Address of тоже, помню как то делали, а как - вспомнить не могу.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 28.04.04 21:04

Можно попробовать VarPtr или VarStr... А можно с помощью CopyMemory, но это уже совсем другая история :)

Ответить

Номер ответа: 2
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #2
Добавлено: 30.04.04 14:18

Только не VarStr, а StrPtr. Вот только где ты потом указатель на VB-шную строку использовать будешь? Вопрос! :)

Ответить

Номер ответа: 3
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #3 Добавлено: 30.04.04 14:34

Ну, это уже другой вопрос...

Ответить

Номер ответа: 4
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #4
Добавлено: 30.04.04 17:16

Я делаю так:

Dim bArray(Count) as Byte

Затем переводишь из VB-шной строки в массив с помощью STRCONV.

А затем уже дело техники. bArrayPTR=Varptr(bArray(0))

Правда это требует изменения в некоторых декларациях типа String на Long. Зато винда уж точно ни к чему не придерётся. Для неё это родной ASCIIZ.

Вот тебе и отличие настоящих языков от так называемых "кАмпиЛяТарАв" типа .NET

Программист знает что строка это ни что иное как массив байт, слов или двойных слов (последних не встречал). Интересно, допрёт ли когда нибудь MS, что жертвовать знаниями за счёт сомнительного удобства - тупиковый вариант?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам