Форум: "Основная";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
ВнизПодвисание формы во время выполнения цикла...(#2) RE2ALL Найти похожие ветки
← →
Набережных С. (2002-03-10 09:45) [7]Попробуй как-то так:
procedure TMyThread.Execute;
var
p1,p2:PChar;
begin
for i_:=1 to _i do
begin
yield;
_A.sin_port:=htons(ms[i_]);
if connect(_S,_A,sizeof(_A))=0 then
begin
p1:=StrAlloc(64);
p2:=StrAlloc(16);
p1:=StrLCopy(p1,pChar("["+timetostr(time)+"] Port "+inttostr(ms[i_])+" opened."),63);
p2:=StrLCopy(p2,pChar(inttostr(ms[i_]),15);
while not PostMessage(Form1.Handle,MY_PORTMSG,HParam(P1),LPARAM(p2)) do;
_S:=socket(AF_INET,SOCK_STREAM,0);
end;
end;
end;
А в форме:
procedure TForm.MYPORTMSG(var Msg: TMessage);
begin
m.lines.Add(PChar(Msg.HParam));
sb.SimpleText:= pChar(Msg.LParam);
tri.Hint:=sb.SimpleText;
StrDispose(pChar(Msg.HParam));
StrDispose(pChar(Msg.LParam));
end;
Убедись, что IsMultiThread = true.
P.S.Надеюсь, ты знаешь, что делаешь.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c