Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> File Mapping, Передача структури в память 
:(
    Опции темы
NOCaut
Дата 6.5.2011, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



Всем привет!  Есть структура st - указатель на нее. Нужно прочитать память.
Код

StructShareMem *st;                             // Структура ShareMem
LPVOID PMap;                                    
HANDLE HMap; 

bool ReadSharedMemory()
{
 HMap = OpenFileMapping(FILE_MAP_READ || FILE_MAP_WRITE, FALSE, LPCWSTR("MySharedValue"));
  if (HMap != 0)
      PMap = MapViewOfFile(HMap,FILE_MAP_READ, 0, 0, BUFF_SIZE);  >>>>>>>>>>>>> тут ошибка <<<<<<<<<<<<<
  // отримуємо вказівник на память де розміщується структура
  if (PMap == NULL)
  {
     CloseHandle(HMap);
     UnmapViewOfFile(PMap);  
  }
 // else
   //  st = PMap;
}


код ошибки:
Код
 
 error C2059: синтаксическая ошибка: =
 error C2143: синтаксическая ошибка: отсутствие ";" перед ")"


PM MAIL   Вверх
azesmcar
Дата 6.5.2011, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Скорее всего BUFF_SIZE ему не знаком.
PM   Вверх
NOCaut
Дата 6.5.2011, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



Точно спасибо! сам би вжизне недогадался smile

Добавлено через 3 минуты и 11 секунд
Код

struct StructShareMem
{
    bool Active; 
 ...
};
StructShareMem *st

....
  else
     st = PMap;




А как с етим бить?  Error: невозможно преобразовать 'LPVOID' в 'StructShareMem' де StructShareMem це моя структура

PM MAIL   Вверх
borisbn
Дата 6.5.2011, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



преобразовать в явном виде
Код

st = (StructShareMem*)PMap;
// или
st = reinterpret_cast<StructShareMem*>( PMap );
// как больше нравится



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
azesmcar
Дата 6.5.2011, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



используй cast.
PM   Вверх
NOCaut
Дата 6.5.2011, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 5.12.2008

Репутация: нет
Всего: 0



Всем спс.

Добавлено @ 16:11
странно! Код не работает.

Я обявляю передаю дание через Delphi а пренимаю в с++

Код

  HMap := OpenFileMapping(FILE_MAP_WRITE or FILE_MAP_READ,false, 'MySharedValue'); - в делфе работает

Код

 HMap = OpenFileMapping(FILE_MAP_READ || FILE_MAP_WRITE, FALSE, LPCWSTR("MySharedValue"));

как можна по другому переписать вот ето: LPCWSTR("MySharedValue")

Это сообщение отредактировал(а) NOCaut - 6.5.2011, 17:23
PM MAIL   Вверх
bsa
Дата 6.5.2011, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(NOCaut @  6.5.2011,  16:01 Найти цитируемый пост)
как можна по другому переписать вот ето: LPCWSTR("MySharedValue")

_TEXT("MySharedValue")
PM   Вверх
borisbn
Дата 7.5.2011, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(NOCaut @  6.5.2011,  16:01 Найти цитируемый пост)
FILE_MAP_READ || FILE_MAP_WRITE

| должен быть один


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.