Форум: "Сети";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
ВнизMailslot Найти похожие ветки
← →
_Narayan_ (2003-08-25 18:02) [0]Ситуация такая:
создал Mailslot ф-цией CreateMailslot
пытаюсь записать в созданный Mailslot ф-цией WriteFile, пользуясь HANDLE, полученный при создании слота.
Результат операции - 0 байт затисано
Вопрос такой, как записать?
← →
clickmaker (2003-08-25 18:13) [1]Приведи код записи и чтения из слота клиентом
← →
_Narayan_ (2003-08-25 18:27) [2]чтения мне не надо, а запись вот
procedure mSendPopup(RealHost,mTo,mFrom,MsgText: String);
var MailSlotHandle: THandle;
ResLen: DWORD;
FinalString, RealHostName: String;
begin
MailSlotHandle:=CreateFile(pchar("\\"+RealHostName+"\mailslot\messngr" ),GENERIC_WRITE,FILE_SHARE_READ,NIL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMA L,0);
If ( MailSlotHandle<>INVALID_HANDLE_VALUE ) Then
Begin
CharToOEM(PChar(mTo),PChar(mTo));
CharToOEM(PChar(mFrom),PChar(mFrom));
CharToOEM(Pchar(MsgText),Pchar(MsgText));
FinalString:=mTo+#0+mFrom+#0+MsgText;
WriteFile(MailSlotHandle,Pointer(PChar(FinalString))^,Length(FinalStri ng),ResLen,nil);
CloseHandle(MailSlotHandle);
end;
end;
← →
clickmaker (2003-08-25 18:44) [3]Ну, в принципе можно и так написать
WriteFile(MailSlotHandle, FinalString[1], Length(FinalString),ResLen,nil);
А что скажет GetLastError сразу после WriteFile ?
← →
_Narayan_ (2003-08-25 19:00) [4]говорит ошибка 53
← →
clickmaker (2003-08-25 19:08) [5]Неверный сетевой путь. Проверь "\\"+RealHostName+"\mailslot\messngr", действительно ли он ведет, куда нужно
← →
_Narayan_ (2003-08-25 19:12) [6]но ведь слот создаётся
MailSlotHandle:=CreateFile(pchar("\\"+RealHostName+"\mailslot\messngr" ),GENERIC_WRITE,FILE_SHARE_READ,NIL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMA L,0);
и тут нормально проходит
If ( MailSlotHandle<>INVALID_HANDLE_VALUE ) Then ...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c