Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизКак Найти похожие ветки
← →
Pacific (2007-11-30 13:12) [0]Как запустить поток параметрами?
← →
clickmaker © (2007-11-30 13:20) [1]VCL или WinAPI?
← →
palva © (2007-11-30 13:21) [2]> поток параметрами?
поток с параметрами?
← →
Pacific (2007-11-30 13:22) [3]
> поток с параметрами?
> <Цитата>
да, т.е. мне надо например: threed.create(false, "строка", 3333)
← →
{RASkov} © (2007-11-30 13:26) [4]> [3] Pacific (30.11.07 13:22)
Дык и сделай свой нужный конструктор...
← →
Pacific (2007-11-30 13:29) [5]и еще вопрос, что я делаю непрально:
Мне нужно чтобы в Execute запускалось, если происходит событие OnLogin
type
threed = class(TThread)
icqclient1:Ticqclient;
procedure ICQClient1Login(Sender: TObject);
private
FOnIcqLogin: TNotifyEvent;
protected
property OnIcqLogin: TNotifyEvent read FOnIcqLogin write FOnIcqLogin;
procedure Execute; override;
end;
implementation
{ threed }
uses main;
procedure threed.Execute;
var
sent:integer;
begin
icqclient1:=Ticqclient.Create(nil);
icqclient1.UIN:=111;
icqclient1.Password:="11";
icqclient1.OnLogin:=ICQClient1Login;
if Assigned(FOnIcqLogin) then
begin
sent:=0;
form1.Memo1.Lines.Add("1");
while form1.start=True do
begin
Inc(sent);
form1.Memo1.Lines.Add("2");
sleep(strtoint(form1.Edit3.Text)*1000);
form1.Memo1.Lines.Add("3");
ICQClient1.SendMessage(111, "asdasdasdas");
If (sent=strtoint(form1.Edit4.Text)) then
begin
sleep(strtoint(form1.Edit5.Text)*1000);
sent:=0;
end;
end;
form1.Memo1.Lines.Add("4");
end;
icqclient1.Login();
end;
procedure Threed.ICQClient1Login(Sender: TObject);
begin
FOnIcqLogin(Self);
end;
end.
← →
Сергей М. © (2007-11-30 13:33) [6]
> что я делаю непрально
Абсолютно все.
Переформулируй, точнее детально сформулируй задачу, прежде чем лепить код..
← →
Сергей М. © (2007-11-30 13:34) [7]За каким вообще лешим тебе этот доп.поток, можешь объяснить вразумительно с аргументами ?
← →
Pacific (2007-11-30 13:40) [8]Задача:
Подключиться к асе, если происходит событие onlogin, то посылать сообщения, пока start=true, чтобы, вся проблема, что форма виснет, хоть это все в потоке (
← →
Pacific (2007-11-30 13:41) [9]если можно примерчик какой нить
← →
Сергей М. © (2007-11-30 13:56) [10]
> посылать сообщения, пока start=true
Спамим-фладим ?)
А ты вообще уверен, что событие OnLogin есть факт успешного подключения ?
← →
Pacific (2007-11-30 14:01) [11]
> Спамим-фладим ?)
>
> А ты вообще уверен, что событие OnLogin есть факт успешного
> подключения ?
OnLogin-если подключился, не спамим, и не флудим :))), а отсылаем отчеты багаюзеров и читеров
← →
Сергей М. © (2007-11-30 14:07) [12]
> OnLogin-если подключился
Ну и нафиг оно тебе вообще нужно ?
Есть метод Login, он, насколько я понял, блокирующий.
Как он работает, ты разобрался ?
Он возвращает управление при успешном подключении и вызывает исключение при неуспешном ?
Или это функциональный метод, возвращающий признак успешности подключения ?
Я что, гадать за тебя должен ?)
← →
Pacific (2007-11-30 14:09) [13]
procedure Login(Status: LongWord = S_ONLINE)
Процедура устанавливает соединение с сервером, вы сразу переходите в статус Status, который по умолчанию S_ONLINE, можно залогиниться и с другим статусом, спосок статусов в property Status.
OnLogin(Sender: TObject)
Вызывается при успешном логине.
← →
Pacific (2007-11-30 14:14) [14]Мне объяснили так(но я не понял):
procedure OnIcqLogin(Sender: TObject); - так оформляется обработчик события.
Генерация происходит иным образом:
private
FOnIcqLogin: TNotifyEvent;
...
public
property OnIcqLogin: TNotifyEvent read FOnIcqLogin write FOnIcqLogin;
...
...
if Assigned(FOnIcqLogin) then
FOnIcqLogin(Self); // Генерация события.
...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c