Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
Другие темы раздела
VB Двигать точку по прямой с шагом, в момент, когда луч проходит над ней http://www.cyberforum.ru/visual-basic/thread1473163.html
Есть луч который описывает окружность, и есть точка которая находится в пределах этой окружности. Необходимо заставить двигаться точку по прямой с шагом, в момент когда луч проходит над ней. Dim...
VB Написать программу "Домашняя библиотека"
Всем привет! В универе задали разработать домашнюю бибилиотеку, нот сегодня оказалось, что нужно что бы была ещё и функция добавления книг. В моей программе книги показывается по обычному условию,...
VB Найти сумму ряда
Помогите разобратся с задачкой. Вот само задание: Private Sub Command1_Click() n = Text1.Text a = Text2.Text j = Text4.Text s1 = 0 For i = 1 To n
VB Вывести на экран матрицу с заданным с клавиатуры значением строк и столбцов Private Sub CommandButton1_Click() m = InputBox("Введите количество столбцов матрицы") If m > 10 Then MsgBox "Количество столбцов больше 10 не обрабатываю", 48, "Ошибка!" GoTo metka End If N =... http://www.cyberforum.ru/visual-basic/thread1472132.html
VB Попарное разделение символов из текстового поля http://www.cyberforum.ru/visual-basic/thread1471958.html
В текстовое поле можно вводить любые символы, по нажатии кнопки пуск в лист1 должны появится попарно разделенные символы из текстового поля.
VB Имитация нажатия клавиш в стороннем приложении
Нужно чтобы софт ловил окно браузера, пусть это будет Internet Explorer И в нем нажимало 2 кнопки до тех пора пока я не остановлю его либо горячей клавишей либо кнопкой в приложение. Многочасовые...
Найти произведение и количество положительных чисел в последовательности VB
Вобщем вот задание : Вводится последовательность из N чисел. Найти произведение и количество положительных среди них чисел. Я , учитывыйте мои супер-навыки в программировании , а тем более VB ...
VB Таймер работает медленнее положенного В моей системе (NT 5.2.3790 64-битная) таймер VB работает медленнее положенного в отношении примерно 13 к 20. А между тем, в 32-битной системе на виртуалке таймер работает нормально (Проверял... http://www.cyberforum.ru/visual-basic/thread1471605.html
VB Вывести на экран две переменные http://www.cyberforum.ru/visual-basic/thread1471571.html
с помощью команды msgbox мне нужно вывести на экран 2 переменные, у меня получается вывести лишь 1, как их нужно разделить что бы вывести 2 переменные я пробовал и через _ и через & и просто через...
VB Вставить текст из Word в редактор кода Здравствуйте. Такая задача: есть текст программы в word-файле, как запихнуть его в компилятор (visual basic)? http://www.cyberforum.ru/visual-basic/thread1471453.html
Dragokas
Эксперт WindowsАвтор FAQ
17065 / 7120 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
17.06.2015, 12:33  [ТС] 0

Как скопировать участок памяти в переменную типа Variant?

17.06.2015, 12:33. Просмотров 981. Ответов 20
Метки (Все метки)

Ответ

Цитата Сообщение от The trick Посмотреть сообщение
Никак. Передается не константа а параеменная содержащая значение константы, можешь проверить это вызвав внутри foo другую функцию передав аргумент по ссылке.
Ну почему же нельзя.

Переменные попадают в стек последовательно в обратном порядке.
Это означает, что если тип аргументов прототипа заранее известен и
если обусловится, что 1-й аргумент функции всегда будет передаваться по значению,
то адреса остальных переменных можно заранее вычислить.
И если этот адрес будет не совпадать с расчетным, то такая переменная была передана по ссылке.
Вот смотри:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit
 
Private Sub Form_Load()
    Dim n&
    
    n = 1
    
    foo 1, 2, 3, 4
    
    Debug.Print "----------"
    
    foo 1, 2, n, 4
End Sub
 
Function foo(v1&, v2&, v3&, v4&)
    Debug.Print VarPtr(v1)
    Debug.Print VarPtr(v2)
    Debug.Print VarPtr(v3)
    Debug.Print VarPtr(v4)
End Function
1243232
1243228
1243224
1243220
----------
1243232
1243228
1243236
1243224
В 1-м случае прослеживается последовательность (-4)
Во 2-м случае последовательность "ламается" на 3-м аргументе.

Добавлено через 12 минут
Хм... The trick, видимо я что-то упустил. ParamArray действительно воспринимает по ссылке.

Вернуться к обсуждению:
Как скопировать участок памяти в переменную типа Variant?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2015, 12:33

Размер памяти, выделяемый под переменную комбинированного типа
1)type Complex=record Re, Im:real end; M=array of Complex; var a:M; ...

Как строковую переменную(String) сканвертировать в переменную типа(Real)
У меня есть Edit1.Text (строковая) а var x: Real каким образом мне сконвертировать Edit1.Text в...

Как передать из ACCESS переменную STRING в переменную окружения (типа CMD команды SET=)
Добрый день! Подскажите как установить переменную окружения из ACCESS. Допустим у меня есть...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru