Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2015, 22:20   #21
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Наверное нужен ansichar а не char...
И лучше результат смотреть в отладчике, а не выводить в окно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.10.2015, 22:49   #22
sazore
Пользователь
 
Регистрация: 17.10.2015
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Наверное нужен ansichar а не char...
Вообще пусто.
sazore вне форума Ответить с цитированием
Старый 19.10.2015, 11:19   #23
sazore
Пользователь
 
Регистрация: 17.10.2015
Сообщений: 19
По умолчанию

Что не кто не знает?
sazore вне форума Ответить с цитированием
Старый 20.10.2015, 11:47   #24
Dmitry33RU
Пользователь
 
Регистрация: 09.10.2014
Сообщений: 62
По умолчанию

Цитата:
Сообщение от sazore Посмотреть сообщение
Что не кто не знает?
А что у вас собственно не работает? Сейчас проверил, все получает.

Код:
Const
  sharedmem_name = 'AIDA64_SensorValues';

function ExtApp_SharedMem_ReadBuffer(bu: PChar; bu_size: DWord): Boolean;
Var
  mappedData: PChar;
  th: THandle;
Begin
  Result := false;
  th := OpenFileMapping(FILE_MAP_READ, false, sharedmem_name);
  If th <> INVALID_HANDLE_VALUE Then
  Begin
    mappedData := MapViewOfFile(th, FILE_MAP_READ, 0, 0, 0);
    If mappedData <> Nil Then
    Begin
      StrLCopy(bu, mappedData, bu_size);
      If UnmapViewOfFile(mappedData) Then
        Result := True;
    End;
    CloseHandle(th);
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
const
  n = 3000;
var
  s: array [1 .. n] of ansichar;
begin
  ExtApp_SharedMem_ReadBuffer(@s, n);
  showmessage(s);
end;
Вы в настройках аиды поставили "Использовать совместную память"?
Dmitry33RU вне форума Ответить с цитированием
Старый 20.10.2015, 13:07   #25
sazore
Пользователь
 
Регистрация: 17.10.2015
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Dmitry33RU Посмотреть сообщение
А что у вас собственно не работает? Сейчас проверил, все получает.

Код:
Const
  sharedmem_name = 'AIDA64_SensorValues';

function ExtApp_SharedMem_ReadBuffer(bu: PChar; bu_size: DWord): Boolean;
Var
  mappedData: PChar;
  th: THandle;
Begin
  Result := false;
  th := OpenFileMapping(FILE_MAP_READ, false, sharedmem_name);
  If th <> INVALID_HANDLE_VALUE Then
  Begin
    mappedData := MapViewOfFile(th, FILE_MAP_READ, 0, 0, 0);
    If mappedData <> Nil Then
    Begin
      StrLCopy(bu, mappedData, bu_size);
      If UnmapViewOfFile(mappedData) Then
        Result := True;
    End;
    CloseHandle(th);
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
const
  n = 3000;
var
  s: array [1 .. n] of ansichar;
begin
  ExtApp_SharedMem_ReadBuffer(@s, n);
  showmessage(s);
end;
Вы в настройках аиды поставили "Использовать совместную память"?
Спасибо! Я разобрался в чем проблема, у меня в sharedmem_name было прописано EVEREST_SensorValues вместо AIDA64_SensorValues.
sazore вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить данные с другой странице Terti JavaScript, Ajax 2 15.10.2012 11:03
Как получить данные с чужой программы в свою? pepesina Общие вопросы Delphi 21 13.07.2012 16:24
Получить информацию от другой программы prod87 Общие вопросы Delphi 1 27.10.2010 17:34
Как перенести данные из одного модуля программы в другой? Velmok Общие вопросы C/C++ 1 20.09.2010 13:13
Как программно прочитать данные из едита другой программы xakkkkker Общие вопросы Delphi 1 15.03.2009 12:13