![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обмен данными между процессами [D6, Win2k, WinXP]
Сергей_С © (2006-07-12 09:19:00)Господа, подскажите, каким образом можно обмениваться данными меджу процессами, запущенными одновременно в одной ОС. Какой-нибудь простой и стабильный способ.
Варианты через файловую систему, DDE, OLE, COM - просьба не рассматривать.
Данные имеют бинарный формат.
Заранее спасибо.
Суслик (2006-07-17 00:08:00) [21]о детский сад продолжается
ЗЫ.
Игорь, сам знаешь, что не всех можно научить :)
Некоторых просто не берут в 9 класс, а отправляют в техникум, можно клинарный.
Игорь Шевченко (2006-07-16 23:46:00) [22]MikProg © (16.07.06 22:08) [61]
Дорогой друг, я по-прежнему жду твоего кода чтения до Eof с помощью Handle, полученного по CreateFileMapping.
MikProg (2006-07-16 22:08:00) [23]Трындец!!! Полный!!! Этож не Библия! Это макулатурка для начинающих!
Игорь Шевченко (2006-07-16 19:25:00) [24]MikProg © (16.07.06 09:19) [59]
Где код чтения из FileMapping до Eof ?
MikProg (2006-07-16 09:19:00) [25]http://www.soft32.ru/literature.shtml?topic=visual&book=1&page=head17.htm
"Пальцем покажи" ©
Ну и? Пересказ хелпа для не знающих ангельского вижу, но не боле.
Игорь Шевченко (2006-07-16 00:41:00) [26]MikProg © (15.07.06 23:47) [57]
Нет, дорогой друг, это ты приведи пример кода чтения по filemapping handle до eof, согласно своему утверждению
> Это файловый объект (как дисковый файл, пайп и пр.) и с
>
> ним можно работать как с файлом, а значит можно выполнять
>
> Read пока не EOF.
Вот когда приведешь, тогда продолжим дискуссию. Еще Рихтера почитай, который Джеффри. Он про файлмаппинг много интересного писал, а главное, доходчиво.
MikProg (2006-07-15 23:47:00) [27]Дешевые понты. Фраза из документации или пример кода спасет вашу репутацию. А пока видно что вы о файлмаппинге знаете понаслышке.
Игорь Шевченко (2006-07-15 22:05:00) [28]MikProg © (13.07.06 19:27) [43]
> > FileMapping - это просто кусок памяти.
>
> HANDLE CreateFileMapping(
> HANDLE hFile,
> LPSECURITY_ATTRIBUTES lpAttributes,
> DWORD flProtect,
> DWORD dwMaximumSizeHigh,
> DWORD dwMaximumSizeLow,
> LPCTSTR lpName
> );
> Это файловый объект (как дисковый файл, пайп и пр.) и с
> ним можно работать как с файлом, а значит можно выполнять
> Read пока не EOF.
> Почемуто в хелпе к 2005 студии не написано, что если в качестве
> хендля использовать FFFF... то файл будет создан в составе
> своп файла, т.е. абсолютно незаметно.
> Очевидно одного из нас вводят в заблуждение слова хелпа
> или вы пробовали и не получилось?
> MS Studio 2005:
> Windows Me/98/95: File handles that are used to create
> file mapping objects must not be used in subsequent calls
> to file I/O functions, such as ReadFile and WriteFile. In
> general, if a file handle is used in a successful call to
> the CreateFileMapping function, do not use that handle until
> you close the corresponding file mapping object.
> В то время как MS Help к D7 зарпещает оное действие только
> для:
> Windows 95: File handles that have been used to create file-
> mapping objects must not be used in subsequent calls to
> file I/O functions, such as ReadFile and WriteFile. In general,
> if a file handle has been used in a successful call to
> the CreateFileMapping function, do not use that handle unless
> you first close the corresponding file-mapping object.
"Беда в том, Шариков, что вы несете чушь, и, что самое страшное, несете ее безапелляционно"
MikProg (2006-07-15 21:56:00) [29]
> не раньше, чем участники форумов пообещают не писать ерунды.
Очевидно одного из нас вводят в заблуждение слова хелпа или вы пробовали и не получилось?
MS Studio 2005:
Windows Me/98/95: File handles that are used to create file mapping objects must not be used in subsequent calls to file I/O functions, such as ReadFile and WriteFile. In general, if a file handle is used in a successful call to the CreateFileMapping function, do not use that handle until you close the corresponding file mapping object.
В то время как MS Help к D7 зарпещает оное действие только для:
Windows 95: File handles that have been used to create file-mapping objects must not be used in subsequent calls to file I/O functions, such as ReadFile and WriteFile. In general, if a file handle has been used in a successful call to the CreateFileMapping function, do not use that handle unless you first close the corresponding file-mapping object.
GrayFace (2006-07-15 18:06:00) [30]<offtopic>
Игорь Шевченко ©
Не подскажите мыло?
</offtopic>
Ketmar (2006-07-15 11:19:00) [31]хм. раньше у меня карты не было. TCP/IP -- был. я снова что-то сделал не так?
atruhin (2006-07-15 10:06:00) [32]> [46] Verg © (14.07.06 09:38)
Да, по крайней мере loopback интерфейс должен быть активен.
Это с чего бы? Если на компьютере нет сетевой карты, то и TCP/IP не установлен. Знаю точно, потому что приходилось в подобном случае ручками устанавливать Microsoft loopback adapter. (название могу переврать)
Ketmar (2006-07-15 00:14:00) [33]>MikProg © (14.07.06 22:50) [49]
не раньше, чем участники форумов пообещают не писать ерунды.
Leonid Troyanovsky (2006-07-14 22:53:00) [34]
> MikProg © (14.07.06 22:50) [49]
> Автору вопроса бесплатно. А вам даш на даш! Обещаете навсегда
> оставить менторский тон?
Ты не умничай - просто рукой укажи (с)
--
Regards, LVT.
MikProg (2006-07-14 22:50:00) [35]
> Игорь Шевченко © (14.07.06 10:33) [48]
Автору вопроса бесплатно. А вам даш на даш! Обещаете навсегда оставить менторский тон?
Игорь Шевченко (2006-07-14 10:33:00) [36]MikProg © (13.07.06 19:27) [43]
> Это файловый объект (как дисковый файл, пайп и пр.) и с
> ним можно работать как с файлом, а значит можно выполнять
> Read пока не EOF.
Пробовал ? Результаты в студию.
Slym (2006-07-14 10:09:00) [37]Demos\Ipcdemos\
Verg (2006-07-14 09:38:00) [38]
> Да и вообще, как-то рука не поднимается использовать механизм
> сетевого обмена для межпроцессного взаимодействия. Поживем
> - увидим.
Вам виднее. Однако, применение более общих методов всегда являлось предпочитителнее применению частных.
> Не силен в сетевых технологиях, но что-то мне подсказывает,
> что механизм с сокетами не будет работать при отсутствии
> хотя бы одного активного сетевого интерфейса.
Да, по крайней мере loopback интерфейс должен быть активен.
GrayFace (2006-07-13 23:12:00) [39]Evgeny V © (13.07.06 14:51) [35]
Посигналь обратно неустановленным Event (по твоему примеру один из E2 или Е3), отправляющий знает какой это эвент и будет ждать его, как синхронизацию. Вообще это не метод на мой взгляд, ни с двумя ни с тремя ...так что лучше стандртными способами воспользоваться.
Ээ. А как ждать Reset-анья Event'а?
Сергей_С (2006-07-13 21:28:00) [40]2 Юрий Зотов © (13.07.06 19:07) [41]
Например, после закладки данных в буфер послать сообщение, а через его параметр(ы) передать размер буфера.
Этот путь понятен :) Я до последнего надеялся, что механизм с FileMapping несет в себе также и информацию о размере буфера.
Все-таки "кусок", как его обозвал Игорь - это нечто, имеющее конечные размеры. Но, как выяснилось, это не "кусок", а просто начало пирога. А жаль.
2 Verg © (13.07.06 19:20) [42]
Поверь, это решение никогда тебя не разочарует
Не силен в сетевых технологиях, но что-то мне подсказывает, что механизм с сокетами не будет работать при отсутствии хотя бы одного активного сетевого интерфейса.
Да и вообще, как-то рука не поднимается использовать механизм сетевого обмена для межпроцессного взаимодействия. Поживем - увидим.