Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Писма и 10 акаунтов. Помогите!!!! 
:(
    Опции темы
Frikazoid
  Дата 7.6.2002, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Привет народ!
Помогите мне плз!
Мне надо одновременно получить письма с 10 акаунтов, но помещать на форму 10 pop компонент не охота, к тому же настройка займёт уйму времени (OnConnect и тому подобные функции).
Я пробовал создовать их вручную, но события типа On Connected обработать не могу!
Помогите плз!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Song
Дата 7.6.2002, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



А в чём проблема? Почему не можете ?


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Vit
Дата 7.6.2002, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 7.6.2002, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Дело в том, что мне надо почту получать одновременно со всех акаунтов,
но при этом мне в лом класть 10 компонентов и настраивать каждый!
Да, 10 акаунтов - это к примеру, их могёт быть больше!!!

Если бы Я умел обрабатывать вручную события типа OnDiconnect, в
локальной процедуре тогда бы и проблемы не было!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Vit
Дата 7.6.2002, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
Baa
Дата 7.6.2002, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 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
PM ICQ   Вверх
Frikazoid
Дата 8.6.2002, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Неееааа не катит ни чего!!!
Всё я пробовал!!
Baa. Там тип не процедера, а проперти(свойство). Не совместимые типы!
Vit. Твой вариант не работает! Наверное ты поместил на форму
компонент! А если не помещать, а создать програмно?

Скажу одно. Нужно подумать о других вариантах(одновременной закачки с
10 акаунтов)!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Vit
Дата 8.6.2002, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Если програмно то тоже самое:

Код

Var Disconnected:boolean;
   Pop3:TNMPOP3;

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;


Сорри, писал на вскидку, так что должны быть мелкие ошибки, но в основном так подключаются события для созданных в 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
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 8.6.2002, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: 1
Всего: 2



Не,  не работает!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Vit
Дата 8.6.2002, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(Frikazoid @ 08.6.2002, 12:50)
Не,  не работает!

Что именно не работает? Может ты питание компьютера забыл включить? Ну неужели бросая реплику "Неработает" кто-то всерьез думает что ему могут помочь. Я не могу. Мне надо конкретно писать в чем это выражается - ошибка на этапе компилляции (Какая?), ошибка на этапе выполнения (Какая?), код работает каким то другим образом (Каким?)


--------------------
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
PM MAIL WWW ICQ   Вверх
RA
Дата 8.6.2002, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Если я тебя правильно понял то вот решение проблемы, если это оно скажи, и я тебе напишу его код.

1 Ты нажал кнопку соединился с pop.mail.ru принял все письма, и далее всё на автомате, ты соединяешся с серваком принемаешь письма и после приема соединяешься с другим, и т.д пока некончятся все.

Тоесть я предлогаю последовательность тк одновременное подключение одног компонента к дести, даже к двум серверам невозможно, и даже если ты поставишь их 10 штук то проиграешь в скорости и размере приложения.
PM   Вверх
Baa
Дата 8.6.2002, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Предлагаю такой вариант...Создаешь свой класс потоков, в котором через MAPI забираешь почту.
Далее создаешь все 10 или больше потоков и разом запускаешь!


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Frikazoid
Дата 9.6.2002, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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 и многое другое.
PM MAIL WWW ICQ   Вверх
Vit
Дата 9.6.2002, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
Vit
Дата 9.6.2002, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Слушай, я тут присмотрелся к этому компоненту (я с ним уже давно не работал), там есть свойство "Connected", может не надо весь и огород городить с ловлей события onDisconnect. Попробуй что-то просто типа:

Код

Procedure TForm1.DoDisconnect;
begin
 Pop3.Disconnect;
 repeat
   application.processmessages;
   sleep(10);
 until not Pop3.Connected;
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
PM MAIL WWW ICQ   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.