Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
14-44442
a3m
2003-03-29 19:01
2003.04.14
C++ vs Pascal: что роднее?


14-44424
Феликс
2003-03-28 20:58
2003.04.14
Программа по бухгалтерскому учету?


4-44502
E_Dimon
2003-02-13 23:43
2003.04.14
Win32 API function failed


8-44283
Sliski Slimak
2003-01-12 12:26
2003.04.14
Теги фалов МР3


14-44429
azra3L
2003-03-25 21:27
2003.04.14
работа с памятью





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский