Главная страница
    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.011 c
1-24053
DjecII
2002-07-25 12:38
2002.08.08
Вопрос про компоненты


1-24072
cherepovets
2002-07-25 13:50
2002.08.08
Принтер


3-23956
studentik
2002-07-15 20:26
2002.08.08
Подключение к БД Excel


3-23908
alords
2002-07-18 09:14
2002.08.08
Query


3-23942
Weare
2002-07-18 11:50
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский