Не может прикрепить к QsharedMemorory, потому что она уже существуетC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Не может прикрепить к QsharedMemorory, потому что она уже существует

Сообщение Anonymous »

Я пытаюсь узнать, как использовать QsharedMemory с простым приложением. Это приложение должно < /p>

Создать общую память < /li>
Напишите в нее < /li>
Читать из нее < /li>
< /ol>
Он способен создать память и записать ее на + без проблем. Тем не менее, он не может читать из этого. Сначала он должен прикрепить к нему, чтобы прочитать из общей памяти, и он ошибается, когда он пытается прикрепить. < /P>
Ошибка, которую она возвращаетQSharedMemory::AlreadyExists
Конструктор qsharedmemory , который используется, устанавливает имя ключа, которое хорошо, потому что у этого есть доступ к .attach () . Таким образом, использование sharedmemory.setkey () не исправят это (и я все равно пытался быть уверенным). Я не использую другой конструктор, указанный только для родителя. Кроме того, как нативные кки, так и обычные ключи при печати внутри writedata () и readdata () Показать одну и ту же строку. Qsharedmem < /li>
Второй процесс не может прикрепить < /li>
Очистка qsharedmem < /li>
Официальный документ Qt < /li>
< /ul>
код здесь < /h2>
он никогда не достигает «Здесь». Это ошибки до этого. < /H3>
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

class SharedMemoryDialog : public QDialog
{
Q_OBJECT

public:
SharedMemoryDialog(QWidget *parent = nullptr)
: QDialog(parent)
, shmKey("ShmemKey")
, sharedMemory(shmKey, 0)
{
setupUI();
}

private slots:
void writeData()
{
// Create sample data
QString data = "\nHello from shared memory!";

// Create a buffer and stream
QBuffer buffer;
buffer.open(QBuffer::ReadWrite);
QDataStream out(&buffer);
out

Подробнее здесь: https://stackoverflow.com/questions/795 ... ady-exists
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»