Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];

Вниз

Прошу пример как на Делфи отправить сообщение 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
1-24011
mdk
2002-07-28 19:34
2002.08.08
работа с фалами и проч.штуковины!


1-24069
KIR
2002-07-26 11:40
2002.08.08
Как вычислить какое окно активно


14-24234
Alx2
2002-07-12 10:39
2002.08.08
Справочная система из html


6-24146
K-Sergey
2002-05-28 06:46
2002.08.08
Как проверить Соединение с интернетом.....?


3-23882
RDA
2002-07-16 17:47
2002.08.08
Удаление дочерних узлов





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