Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.10.2008, 17:00
Micher Micher вне форума
Прохожий
 
Регистрация: 28.10.2008
Сообщения: 1
Репутация: 10
Вопрос Чтение и запись FilMapping

Всем привет. Написал небольшую DLL для работы с FileMapping:
Код:
...
var
  hFileMapObj: THandle;
  lpBaseAddress: PChar;
Procedure CreateMyFileMapping(); export; stdcall;
begin
  hFileMapObj := CreateFileMapping(MAXDWORD, nil, PAGE_READWRITE, 0, 4, 'MySharedValue12345');
  if (hFileMapObj = 0) then ShowMessage('Не могу создать FileMapping!')
  else
    lpBaseAddress := MapViewOfFile(hFileMapObj, FILE_MAP_WRITE, 0, 0, 0);
  if lpBaseAddress = nil then ShowMessage('Не могу подключить FileMapping!');
end;
Procedure InsertStringToFileMapping(str: PChar); export; stdcall;
begin
  StrPCopy(lpBaseAddress, str);
end;
Function ReadMyFileMapping(): PChar; export; stdcall;
begin
  ReadMyFileMapping := PChar(lpBaseAddress);
end;

Есть 2 приложения, которые используют эту библиотеку(они должны с её помощью "общаться" между собой).
Первое приложение делает примерно следующее:
Код:
   CreateMyFileMapping();
   while (true)
      InsertStringToFileMapping("какое-то значение, разное в каждый момент времени");

Второе приложение обращается к этому же самому маппингу(читает то, что пишет первое):
Код:
   CreateMyFileMapping();
   while (true)
      ShowMessage(ReadMyFileMapping());

Почему то, второе приложение всегда выдаёт то значение, которое первое приложение записало ПЕРВЫМ, а не каждый раз разные значения. Обьясните пожалуйста, что я не так делаю. Наверно как то не акт пишу в первом приложении или не так читаю во втором...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025