Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обмен инфой, между приложениями 
:(
    Опции темы
NiJazz
Дата 13.1.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



Код клиента:
Код

procedure TForm1.Button1Click(Sender: TObject);
var hPipe: THandle;
   Size: cardinal;
   Buf: PChar;
begin
if not WaitNamedPipe('\\.\pipe\mypipe', 0) then begin
  Application.MessageBox('Именованный канал не создан',
                         'Ошибка',
                         MB_OK or MB_ICONINFORMATION);
  exit;
end;
hPipe := CreateFile('\\.\pipe\mypipe',
                    1,  // В С++ это было бы FILE_WRITE_DATA
                    FILE_SHARE_WRITE,
                    nil,
                    OPEN_EXISTING,
                    FILE_ATTRIBUTE_NORMAL,
                    0);
Size := Length(Edit1.Text);
Buf := PChar(Edit1.Text);
WriteFile(hPipe, Buf, Size, Size, nil);
CloseHandle(hPipe);
end;

Код сервера:
Код

procedure TForm1.Button1Click(Sender: TObject);
var hPipe: THandle;
   Buf: PChar;
   Size: cardinal;
begin
Size := 255;
hPipe := CreateNamedPipe('\\.\pipe\mypipe',
                         PIPE_ACCESS_INBOUND,
                  PIPE_TYPE_BYTE,
    1,
    0,
    Size,
    NMPWAIT_USE_DEFAULT_WAIT,
    nil);
ConnectNamedPipe(hPipe, nil);
GetMem(Buf, Size);
ReadFile(hPipe, Buf, Size, Size, nil);
FlushFileBuffers(hPipe);
DisconnectNamedPipe(hPipe);
CloseHandle(hPipe);
Edit1.Text := string(Buf);
FreeMem(Buf);
ShowMessage(IntToStr(GetLastError));
end;

PM MAIL   Вверх
Medved
Дата 13.1.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата
WM_COPYDATA специально для таких случаев


Собственно согласен на 100%.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.