Главная страница
    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.007 c
3-43989
AlexC
2003-03-24 12:11
2003.04.14
InterBase в качестве СУБД для


1-44166
BBCHa
2003-04-03 17:54
2003.04.14
Рамочка вокруг контрола как в Design-time


3-44072
Staraya
2003-03-26 11:01
2003.04.14
SQL explorer. Обновление записей в таблицах..


7-44470
JohnKorsh
2003-02-19 13:49
2003.04.14
Работа с последовательными портами.


14-44400
Ahmad K
2003-03-28 14:24
2003.04.14
InstallShield





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский