![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Привет народ!
Помогите мне плз! Мне надо одновременно получить письма с 10 акаунтов, но помещать на форму 10 pop компонент не охота, к тому же настройка займёт уйму времени (OnConnect и тому подобные функции). Я пробовал создовать их вручную, но события типа On Connected обработать не могу! Помогите плз! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
А в чём проблема? Почему не можете ?
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Что-то я не просекаю вопрос, или тебе надо иметь действительно столько компонентов сколько серверов, или ты используешь 1 компонент и подсоединяешься/опрашиваешь каждый сервер по очереди... Другого вроде бы не дано.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Дело в том, что мне надо почту получать одновременно со всех акаунтов,
но при этом мне в лом класть 10 компонентов и настраивать каждый! Да, 10 акаунтов - это к примеру, их могёт быть больше!!! Если бы Я умел обрабатывать вручную события типа OnDiconnect, в локальной процедуре тогда бы и проблемы не было! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Var Disconnected:boolean;
Procedure Form1.onDisconnect(); begin Disconnected:=true; end; Procedure Form1.DoDisconnect; begin Disconnected:=false; Pop3.Disconnect; repeat application.processmessages; sleep(10); until Disconnected; end; -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
procedure TForm1.OnClickProc (Sender: TObject);
begin ShowMessage ( 'Test' ); end; procedure TForm1.Button2Click(Sender: TObject); begin Form1.Button2.OnClick := OnClickProc; end; -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Неееааа не катит ни чего!!!
Всё я пробовал!! Baa. Там тип не процедера, а проперти(свойство). Не совместимые типы! Vit. Твой вариант не работает! Наверное ты поместил на форму компонент! А если не помещать, а создать програмно? Скажу одно. Нужно подумать о других вариантах(одновременной закачки с 10 акаунтов)! -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Если програмно то тоже самое:
Сорри, писал на вскидку, так что должны быть мелкие ошибки, но в основном так подключаются события для созданных в Run-Time объектов -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Не, не работает!
-------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Что именно не работает? Может ты питание компьютера забыл включить? Ну неужели бросая реплику "Неработает" кто-то всерьез думает что ему могут помочь. Я не могу. Мне надо конкретно писать в чем это выражается - ошибка на этапе компилляции (Какая?), ошибка на этапе выполнения (Какая?), код работает каким то другим образом (Каким?) -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Если я тебя правильно понял то вот решение проблемы, если это оно скажи, и я тебе напишу его код.
1 Ты нажал кнопку соединился с pop.mail.ru принял все письма, и далее всё на автомате, ты соединяешся с серваком принемаешь письма и после приема соединяешься с другим, и т.д пока некончятся все. Тоесть я предлогаю последовательность тк одновременное подключение одног компонента к дести, даже к двум серверам невозможно, и даже если ты поставишь их 10 штук то проиграешь в скорости и размере приложения. |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Предлагаю такой вариант...Создаешь свой класс потоков, в котором через MAPI забираешь почту.
Далее создаешь все 10 или больше потоков и разом запускаешь! -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Frikazoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 29.3.2002 Репутация: 1 Всего: 2 |
Baa. Твоя идея хороша, но как её реализовать? Напиши ПЛЗ хоть какой
сырец! RAdmin. Если ты читал начало, то мог заметить, что проблема состоит в том, что надо одновременно получать со всех акаунтов, даже с потерей скорости! Vit. Питание я проверял раз десять, там багов не нашёл! Зато в проге таких жирных особей обнаружил и сам отловить не могу! Так выглядел оригинал твоей проги: type TForm1 = class(TForm) Procedure DoDisconnect; Procedure onDisconnect(Sender:TObject); Procedure CreateComponet; private public end; var Form1: TForm1; Disconnected:boolean; Pop3:TNMPOP3; implementation {$R *.dfm} Procedure Form1.onDisconnect(Sender:TObject); begin Disconnected:=true; end; Procedure Form1.DoDisconnect; begin Disconnected:=false; Pop3.Disconnect; repeat application.processmessages; sleep(10); until Disconnected; end; Procedure Form1.CreateComponet; begin pop3:=TNMPOP3.create(Form1); pop3.onDisconnect:=onDisconnect; end; И во какие ошибки он выдал! [Error] Unit1.pas(28): Identifier redeclared: 'Form1' [Error] Unit1.pas(33): Identifier redeclared: 'Form1' [Error] Unit1.pas(43): Identifier redeclared: 'Form1' [Error] Unit1.pas(46): Undeclared identifier: 'onDisconnect' [Error] Unit1.pas(11): Unsatisfied forward or external declaration: 'TForm1.DoDisconnect' [Error] Unit1.pas(12): Unsatisfied forward or external declaration: 'TForm1.onDisconnect' [Error] Unit1.pas(13): Unsatisfied forward or external declaration: 'TForm1.CreateComponet' Я подправил, и.... type TForm1 = class(TForm) Procedure DoDisconnect; Procedure onDisconnect(Sender:TObject); Procedure CreateComponet; private public end; var Form1: TForm1; Disconnected:boolean; Pop3:TNMPOP3; implementation {$R *.dfm} Procedure onDisconnect(Sender:TObject); begin Disconnected:=true; end; Procedure DoDisconnect; begin Disconnected:=false; Pop3.Disconnect; repeat application.processmessages; sleep(10); until Disconnected; end; Procedure CreateComponet; begin pop3:=TNMPOP3.create(Form1); pop3.onDisconnect:=onDisconnect; end; [Error] Unit1.pas(46): Incompatible types: 'method pointer and regular procedure' [Error] Unit1.pas(11): Unsatisfied forward or external declaration: 'TForm1.DoDisconnect' [Error] Unit1.pas(12): Unsatisfied forward or external declaration: 'TForm1.onDisconnect' [Error] Unit1.pas(13): Unsatisfied forward or external declaration: 'TForm1.CreateComponet' -------------------- RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле! А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Перенеси эти строки в Private или Public секции класса формы:
Procedure DoDisconnect; Procedure onDisconnect(Sender:TObject); Procedure CreateComponet; А следующий код надо писать как я писал, с указанием членства в классе, иначе не будет работать: Procedure TForm1.onDisconnect(Sender:TObject); begin Disconnected:=true; end; Procedure TForm1.DoDisconnect; begin Disconnected:=false; Pop3.Disconnect; repeat application.processmessages; sleep(10); until Disconnected; end; Procedure TForm1.CreateComponet; begin pop3:=TNMPOP3.create(Form1); pop3.onDisconnect:=onDisconnect; end; -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Слушай, я тут присмотрелся к этому компоненту (я с ним уже давно не работал), там есть свойство "Connected", может не надо весь и огород городить с ловлей события onDisconnect. Попробуй что-то просто типа:
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |