Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
202 / 148 / 5
Регистрация: 14.03.2013
Сообщений: 784
1

Как передать ссылку на переменную по UDP?

16.02.2014, 20:18. Показов 641. Ответов 7
Метки нет (Все метки)

Все в пределах одного компьютера.
Две программы.
Одна имеет переменную int r;
Вторая должна получить ссылку и считывать в любое время.

Через qDebug() я могу получить адрес переменной, но если записывать в поток связанный с QByteArray и отправлять то я ничего не получаю... точнее выходной qDebug() не может понять что ему выдали ( QVariant(Invalid) )

помогите решить проблему.

p.s. Есть еще такая идея, что на аппаратном уровне родной процесс не даст доступ к переменной (своей области памяти) другому процессу, правда ли эта?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2014, 20:18
Ответы с готовыми решениями:

Как передать ссылку на переменную?
При создании объекта класса, в него передается переменная int, значение которого присваивается...

Как передать переменную через ссылку
Здравствуйте! Вопрос для опытных программистов простой, наверное ) Есть ссылка в таблице...

Как передать ссылку на переменную в другое приложение
допустим есть приложение в которое из c# нужно передать ссылку на string(ancii) в приложение на...

Как передать ссылку на переменную в конструктор класса?
Нужно в класс передать ссылку на переменные f1 и f2, как бы привязать их к переменным flag_1,flag_2...

7
3240 / 2043 / 350
Регистрация: 24.11.2012
Сообщений: 4,900
16.02.2014, 20:33 2
Судя по формулировке, автору нужна разделяемая память (как вариант). Ключевые слова для поиска - shared memory. В Qt должны быть средства для работы с ней.
1
Каратель
Эксперт С++
6598 / 4017 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.02.2014, 20:39 3
Цитата Сообщение от Bmg113 Посмотреть сообщение
p.s. Есть еще такая идея, что на аппаратном уровне родной процесс не даст доступ к переменной (своей области памяти) другому процессу, правда ли эта?
правда, только не на аппаратном, а на уровне ОС
1
202 / 148 / 5
Регистрация: 14.03.2013
Сообщений: 784
16.02.2014, 22:44  [ТС] 4
Всем спасибо решил проблему.
Создал Главное окно с 2 кнопками. внутри класса главного окна создал два класса диалоговых и два потока.
Надеюсь это не самый плохой вариант

Правда выдает такие вот ошибки, но работает, странно...

C++ (Qt)
1
2
3
4
QObject::moveToThread: Widgets cannot be moved to a new thread
QObject::moveToThread: Widgets cannot be moved to a new thread
QThread: Destroyed while thread is still running
QThread: Destroyed while thread is still running
0
Каратель
Эксперт С++
6598 / 4017 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.02.2014, 22:50 5
Цитата Сообщение от Bmg113 Посмотреть сообщение
Надеюсь это не самый плохой вариант
плохой ибо
Цитата Сообщение от Bmg113 Посмотреть сообщение
выдает такие вот ошибки
что вообще нужно-то?
0
202 / 148 / 5
Регистрация: 14.03.2013
Сообщений: 784
16.02.2014, 23:10  [ТС] 6
Цитата Сообщение от Jupiter Посмотреть сообщение
что вообще нужно-то?
Надо два процесса распараллелить.
Один генерирует данные, другой считывает и передает дальше по порциям.
Вот и думаю что бы оба в разные потоки засунуть.
Оба работают по таймеру.
И получается если в одном потоке то либо один ждет либо другой...

Добавлено через 14 минут
Цитата Сообщение от Bmg113 Посмотреть сообщение
QThread: Destroyed while thread is still running
эту ошибку получилось исправить.

C++ (Qt)
1
2
3
    
thread->quit();
thread->wait();
0
Каратель
Эксперт С++
6598 / 4017 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.02.2014, 23:10 7
Цитата Сообщение от Bmg113 Посмотреть сообщение
Один генерирует данные, другой считывает и передает дальше по порциям.
конкретнее
0
202 / 148 / 5
Регистрация: 14.03.2013
Сообщений: 784
16.02.2014, 23:12  [ТС] 8
Цитата Сообщение от Jupiter Посмотреть сообщение
конкретнее
Представ те что один процесс генерирует числа и через определенное время записывает их в массив, пройдя весь массив начинает сначала.
А второй процесс получив адрес массива считывает данные через определенное время.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2014, 23:12

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как передать переменную на другую страницу нажатием на ссылку?
Плз. помогите сделать пару вещей: 1. Как передать переменную на другую страницу нажатием на...

Передать в переменную ссылку на нужный файл ресурсов
мне необходимо реализовать вот такой код тип Res = Properties.ResourcesTest; public Form1() ...

Передать в процедуру "ссылку" на глобальную переменную
Всем привет. Есть процедура , которая изменяет значение некоторой глобальной переменной. Какую...

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

Как передать переменную окна через текстовую переменную?
Открыл одно окно, потом второе, и хочу передать индетефикатор первого окна во второе, чтобы оно там...

Как строковую переменную передать из TStringStream в переменную String?
Доброе время суток! Подскажите, как строковую переменную передать из TStringStream в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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