Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

Прошу пример как на Делфи отправить сообщение CreateMAilSlot   Найти похожие ветки 

 
kserg@ukr.net   (2002-05-28 10:35) [0]

Привет
Есть необходимость отправит из моей проги сообщение юзерам в сети. Как это сделать через NetMessageBufferSend я нашел пример и смог им воспользоваться, но у меня есть юзеры у котр. стоит Win98, соот-но NetMessageBufferSend здесь не катит.

Народ, дайте пример как из делфей корректно отправить сообщение через CreateMAilSlot ?
А то я с API мало работал и его синтаксис не совсем понятен.
Может кто предложит другое универсальное решение (так чтобы можно было посыть сообщения и с NT и 98)

Спасибо.


 
LazyCat ©   (2002-05-28 11:06) [1]

На torry.ru поищи компонент mdWinPopUp. Он нормально работает и на NT и на 9х.


 
kserg@ukr.net   (2002-05-28 11:39) [2]

>LazyCat © (28.05.02 11:06)
Cпасибо, дарагой :-)
уже скачал, но возникли сложности: в архиве PAS под D2/D3
а как перекомпилить его под D5?
(сам я еще мало знаю D)


Кстати, на torry.ru выставлена устаревшая вер.1,14
а на родной странице http://www.djernaes.dk/martin
выставлена вер.1,15 - в read_me написало, что удалена ошибка утечки памяти.


 
LazyCat ©   (2002-05-28 12:13) [3]

В component->install component открывай mdMailSlot.pas (так кажеца называеца), и жми инсталл. Должно все заработать. У меня во всяком случае проблем не было.


 
kserg@ukr.net   (2002-05-28 12:38) [4]

>LazyCat © (28.05.02 12:13)
у компанента куча функций и не могу сходу понять,
какими можно отправить/получить сообщение,


 
LazyCat ©   (2002-05-28 13:01) [5]

На OnMessage вешай свой оброботчик.
А посылать примерно так:

mdWinPopup1.Send(Komu,OtKogo,OtKogo,memo1.Text);


 
kserg@ukr.net   (2002-05-28 14:35) [6]

подскажи в чем дело.

mdWinPopup1.Send("\\.\mailslot\data_base","kse","kse","177")

эта строка генерит исключение типа Access Violation... in modele user32.dll


 
LazyCat ©   (2002-05-28 15:38) [7]

А, было у меня такое. Ругалось только под NT при вызове CharToOEM. Попробуй заменить в модуле mdMailSlot функцию SendToWinpopup на эту:
Function SendToWinpopup(Server, Reciever, Sender, Msg : String) : Boolean;
var
m,m1 : PChar;
l : integer;
Begin
l := Length(Server)+1;
getmem(m,l);
getmem(m1,l);
StrCopy(m, PChar(Server));
CharToOEM(m,m1);
Server := String(m1);
FreeMem(m,l);
FreeMem(m1,l);

getmem(m,Length(Sender)+1);
getmem(m1,Length(Sender)+1);
StrCopy(m, PChar(Sender));
CharToOEM(m,m1);
Sender := String(m1);
FreeMem(m,Length(Sender)+1);
FreeMem(m1,Length(Sender)+1);

getmem(m,Length(Reciever)+1);
getmem(m1,Length(Reciever)+1);
StrCopy(m, PChar(Reciever));
CharToOEM(m,m1);
Reciever := String(m1);
FreeMem(m,Length(Reciever)+1);
FreeMem(m1,Length(Reciever)+1);

getmem(m,Length(Msg)+1);
getmem(m1,Length(Msg)+1);
StrCopy(m, PChar(Msg));
CharToOEM(m,m1);
msg := String(m1);
FreeMem(m,Length(Msg)+1);
FreeMem(m1,Length(Msg)+1);

Result := SendToMailSlot(Server, wpSlot, Sender+#0+Reciever+#0+Msg);
end;


А на счет этой "\\.\mailslot\data_base" строчки я не уверен, если не ошибаюсь там должно быть только имя компьютера на который отправляешь сообщение.


 
kserg@ukr.net   (2002-05-28 16:29) [8]

спасибо за помощь.

и еще вопросик: можно сообщение кинуть не на имя_компа, а на имя_юзера ?


 
LazyCat ©   (2002-05-28 16:48) [9]

Можно всему домену послать, тогда вместо "имя_компа" надо "*" ставить. Должно быть можно, когда копался с этим компонентом пару раз было, что сообщения приходили не только на компутер юзера, но и на все компутеры где он залогинился. А почему это получилось непомню. :(



Страницы: 1 вся ветка

Текущий архив: 2002.08.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
3-23862
Loco
2002-07-19 14:49
2002.08.08
Ещё вопрос


1-24118
vinger
2002-07-26 20:25
2002.08.08
serial


3-23958
Пастор
2002-07-18 18:46
2002.08.08
Как динамически создать вычисляемое или lookup поле ?


1-24079
U-Rustam
2002-07-26 13:17
2002.08.08
Перевод из Delphi 3 в Delphi 5


14-24226
alex9999
2002-07-11 07:00
2002.08.08
Экстрим