Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.14;
Скачать: CL | DM;

Вниз

Выделение памяти   Найти похожие ветки 

 
Sectey ©   (2003-04-02 18:40) [0]

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


 
MBo ©   (2003-04-02 18:45) [1]

вопрос неясен.
Может, MMF устроит?


 
Serginio   (2003-04-02 18:45) [2]

Только через отображаемые в память файлы


 
Sectey ©   (2003-04-02 18:50) [3]

Я вызываю функцию:
SendMessage(wnd,TB_GETBUTTON,i, longint(Button)))
и мне выдается сообщение что не могу записать в память. Т.е. мне надо выделить память так чтобы получатель мог писать в данную память. Как мне это сделать?


 
Sectey ©   (2003-04-02 19:08) [4]

>Serginio

А как мне это сделать?


 
Serginio   (2003-04-02 19:22) [5]

Передавать данные между разными процессами можно через WM_CopyData.


 
Sectey ©   (2003-04-02 19:47) [6]

>Serginio
Выделяю память MMF

выдержка Win32
TB_GETBUTTON
wParam = (WPARAM) iButton;
lParam = (LPARAM) (LPTBBUTTON) lpButton;

lParam - указатель на структуру TBBUTTON

я передаю ему этот указатель. А мне в ответ говарят что Память не может "written". Тобишь на сколько я понил он не может записать в выделенную мной память.


 
Zz_   (2003-04-02 19:52) [7]

А может

longint(@Button)


 
Serginio   (2003-04-02 19:53) [8]

Посмотри для примера http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=7813
А может SendMessage(wnd,TB_GETBUTTON,i, longint(@Button)))
Если Button:TBBUTTON;



 
Sectey ©   (2003-04-02 19:55) [9]

Да в том то и дело что Button является указателем


 
Sectey ©   (2003-04-02 19:59) [10]

>Serginio
Я уже видел этот пример и более или менее разобрался


 
Serginio   (2003-04-02 20:09) [11]

Попробуй через CreateFileMapping, MapViewOfFile но навряд ли
Ты хочешь получить заполненную структуру TBBUTTON. Может и не выйти в разных процессах. Сам не пробовал.


 
Sectey ©   (2003-04-02 20:12) [12]

>Serginio
Я и делаю через CreateFileMapping, MapViewOfFile.
А обратная сторона говарит немогу записать в память.


 
Serginio   (2003-04-02 20:20) [13]

Все правильно ты передаешь ссылку на память другого процесса.
Помоему только WM_CopyData преобразует указатель на память. Заходи в процесс программы больше нечего посоветовать. А может быть есть функция межпроцессорного преобразования указателей ???


 
Serginio   (2003-04-02 20:29) [14]

Можно попробовать загрузить DLL в этот процесс отобразить файл в память и передать его адрес в свой процесс. В своем процессе записать в начало отображаемого файла а ссылку передать адресс полученный из того процесса.



Страницы: 1 вся ветка

Текущий архив: 2003.04.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
3-43990
denary
2003-03-18 01:41
2003.04.14
анализировать код нажатой клавиши


14-44445
VEG
2003-03-29 23:32
2003.04.14
Мысли вслух...


1-44217
pok
2003-04-01 17:52
2003.04.14
Listview - некоторые трудности.....


1-44096
caesar
2003-04-02 16:58
2003.04.14
stack overflow


4-44497
VitalMoya
2003-02-12 22:25
2003.04.14
LogonUser