![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Unconnected |
![]()
Сообщение
#1
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Mrim - компонент для работы с протоколом mail Agent. Написал его Алексей Панов, и приложение тоже написал, наподобие mail-агент. Подробнее здесь: http://andml.org.ru/opensource.htm . Так вот, проект с открытым исходным кодом. Так вот, на сайте можно скачать исходник (Delphi) всего приложения. А сам компонент, как я понял, это Mrim.pas. Но при его компиляции мало того, что нужны сторонние компоненты, служащие для графического отображения элементов, так ещё и ошибки возникают.. (Undeclared identifier, например). Вот возник вопрос, может я совсем не то компилирую? [Delphi 2007]
Сообщение отредактировано: Unconnected - 27.03.2009 19:44 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата мало того, что нужны сторонние компоненты, служащие для графического отображения элементов, так ещё и ошибки возникают.. (Undeclared identifier, например). Так это не "мало того", а именно из-за того, что у тебя не установлены сторонние компоненты, и возникают ошибки. Автор mrim написал ведь, какие компоненты должны быть установлены дополнительно, перед тем, как компилировать сам mrim.pas:http://andml.org.ru/devel/tips.htm Ты все установил из списка? Кстати, у проекта есть форум, если не получается установить себе программу - кто лучше автора тебе объяснит, что именно за проблема? |
Unconnected |
![]()
Сообщение
#3
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Так в том то и дело, что установил всё, на один RxLib для Delphi 2007 сколько времени убил.. А на форуме регистрация не работает временно. Общался с автором по Jabber'у, у него времени нету пока что..
Добавлено через 15 мин. Пример такой ошибки: В модуле PopCliFr на строке pop.Connect(-1); получается [DCC Error] popCliFr.pas(111): E2250 There is no overloaded version of 'Connect' that can be called with these arguments -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Пример такой ошибки: Ну, этот (-1) можешь спокойно убрать (возможно - проблема в том, что автор работал на другой, более ранней версии Дельфи), поскольку теперь вызовВ модуле PopCliFr на строке pop.Connect(-1); получается [DCC Error] popCliFr.pas(111): E2250 There is no overloaded version of 'Connect' that can be called with these arguments pop.Connect;подразумевает использование в качестве тайм-аута константы IdTimeoutDefault, которая и так равна (-1) |
Unconnected |
![]()
Сообщение
#5
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Ага, спасибо..
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Unconnected |
![]()
Сообщение
#6
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Нашёл более простой компонент для работы с MRIM (TMailClient), устанавливается сразу, по функционалу совсем немного беднее, ну да мне не все функции нужны. Решил сделать своеобразный "гибрид", добавить в TmailClient, как в более простой, некоторые нужные мне функции из MRIM. Так вот, функция добавления Телефонного контакта:
Код procedure TMrim.Add_phone_user(nick,phone: string); var add: string; buf: string; begin mail_to_add:= 'phone'; nick_to_add:= nick; phone_to_add:= phone; add:= setLPS('phone'); nick:= setLPS(nick); phone:=setLPS(phone); buf:= setUL(CONTACT_FLAG_SMS)+setUL(103)+add+nick+phone+ setUL(MA_SPACE); sendLPS(num,MRIM_CS_ADD_CONTACT,buf,length(buf)div 2); end; Это в MRIM. Если разобраться, то входные параметры сначала преобразуются в какой-то иной вид (использовал процедуры из TMRIM (setLPS,setUL)), формируется запрос, а в предпоследней строке он отправляется на сервер. Так вот, в MRIM отправка производится сразу компонентом (т.е. он сам создаёт TCP подключение), а в TMailClient нужно отдельно подключаться с помощью компонента TTCPClient, а потом поверх этого подключения работать.. Поэтому неясно, как отправлять в TMailClient (там есть процедуры типа sendpack, но входныу параметры иные, чем у sendLPS). -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Unconnected |
![]()
Сообщение
#7
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Код Procedure tmailclient.add_sms_contact(var nick,phone:string); var Pack:TMRIMPacket; Data:Pointer; add:string; begin MMP_Pack(@Pack, FSeq, MRIM_CS_ADD_CONTACT, FSocket.Port, FSocket.IP); MMP_addUL(@Pack,data,CONTACT_FLAG_SMS); MMP_addUL(@Pack,data,103); MMP_addLPS(@Pack,data,'phone'); mmp_addlps(@Pack,data,nick); mmp_addlps(@Pack,data,phone); MMP_addUL(@Pack,data,MA_SPACE); MMP_SendPack(FSocket.Socket, @Pack, Data); FSeq:= FSeq + 1; FreeMem(Data); end; Получилось вот так, вроде как надо,но не работает.. -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
![]() |
Текстовая версия | 9.07.2025 20:53 |