Код:
procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String);
begin
PK1.Add(UIN+'='+Msg);
end;
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
uin,msg,send: string;
begin
if PK1.Count>0 then begin
UIN:=copy(pk1.strings[0],1,pos('=',pk1.strings[0])-1);
Msg:=copy(pk1.strings[0],pos('=',pk1.strings[0])+1,length(pk1.strings[0]));
PK1.Delete(0);
//у меня тут он посылается в обработку (функции) и там уже отправляется
//но если тебе сразу ответ надо то вот
send:='Привет человечек';
ICQClient1.SendMessage(StrToInt(UIN),send);
end;
Вот при приходе соообщение добавляется в pk1 (TStringList) а таймер например ежесекундно если ктото оставил сообщение берет и обрабатывает его. (естественно удаляя из списка) у меня все работает на ура, сообщения отправляться будут не чаще интервала в таймере.