Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.20;
Скачать: CL | DM;

Вниз

exit и procedure   Найти похожие ветки 

 
Res   (2008-06-20 21:49) [0]

Здравствуйте..
имеется процедура test

procedure test;
begin
....
if(...) then exit;
...
end;

При запуске данной процедуры в потоке, почему то торзмозит весь поток, т.е. код дальше не выполняется после этой процедуры


 
Игорь Шевченко ©   (2008-06-20 21:50) [1]

не компилируется


 
Сергей М. ©   (2008-06-20 22:11) [2]


> торзмозит .., т.е. .. не выполняется


Прелюбопытные синонимы)


 
McSimm ©   (2008-06-20 22:23) [3]

Наверное это было предупреждение, не вопрос.


 
Сергей М. ©   (2008-06-20 22:49) [4]

Ладно хоть не угроза..


> Res   (20.06.08 21:49) 
</I

> При запуске данной процедуры в потоке


Это еще надо умудриться - запустить процедуру не в потоке..


 
Palladin ©   (2008-06-20 22:57) [5]


>Сергей М. ©   (20.06.08 22:49) [4]

не принимай аффтара слишком близко к сердцу... он месяца три назад строки разбирать начал... теперь у младенца в руках перфоратор в виде потоков... он ими теперь строки разбирает... на каждую строчку - поток


 
Тын-Дын ©   (2008-06-20 23:19) [6]

Удалено модератором


 
Игорь Шевченко ©   (2008-06-20 23:20) [7]

Удалено модератором


 
Тын-Дын ©   (2008-06-20 23:23) [8]

Удалено модератором


 
Res   (2008-06-20 23:24) [9]

Еще проблема в том, что прога все больше и больше жрет памяти...

>
>
> Покажи код потока. Без этого не имеет смысла обсуждать что-
> то.
>
> PS. Не обращай внимания на детские комментарии. Здесь и
> такие ходят.

Запускаю поток:
     BeginThread(nil,0,Addr(thread),Addr(ggg),0,id);
Сам поток:

procedure thread(param:pointer);
var
command:^string;
sss:string;
sproxy,saccount:string;
x,y:integer;
rst:integer;
label
lproxy,laccount;
begin
command:=param;
sss:=command^;
freemem(param,SizeOf(string));
if(sss="") then EndThread(0);
 laccount:
 saccount:="";
 EnterCriticalSection(form1.cs);
   saccount:=getaccount;
 LeaveCriticalSection(form1.cs);
 //sleep(1115000);
 if(saccount="") then EndThread(0);
 lproxy:
 sproxy:="";
 EnterCriticalSection(form1.cs);
   sproxy:=getproxy;
 LeaveCriticalSection(form1.cs);
 if(sproxy="") then EndThread(0);
 //messagebox(0,PAnsiChar(sproxy),"",0);
   rst:=test(saccount,sproxy,sss);
  // messagebox(0,PAnsiChar(saccount),"",0);
   if(rst=0) then
   begin
     EnterCriticalSection(form1.cs);
       x:=0;
       while(x<=form1.account.Count-1) do
       begin
         if(form1.account.Strings[x]=saccount) then
         begin
           form1.account.Delete(x);
           x:=x-1;
         end;
         x:=x+1;
       end;
     LeaveCriticalSection(form1.cs);
     goto laccount;
   end
   else if(rst=1) then
   begin
     EnterCriticalSection(form1.cs);
       x:=0;
       while(x<=form1.proxy.Count-1) do
       begin
         if(form1.proxy.Strings[x]=sproxy) then
         begin
           form1.proxy.Delete(x);
           x:=x-1;
         end;
         x:=x+1;
       end;
     LeaveCriticalSection(form1.cs);
    goto lproxy;
   end;    
...
EndThread(0);
end;


 
Тын-Дын ©   (2008-06-20 23:29) [10]


> rst:=test(saccount,sproxy,sss);

Что процедура-то делает? Из твоего кода мало что понятно.


 
Игорь Шевченко ©   (2008-06-20 23:30) [11]

Res   (20.06.08 23:24) [9]

слова "test", "exit" потерялись при копировании.


 
Тын-Дын ©   (2008-06-20 23:30) [12]

Удалено модератором
Примечание: Достал. Читай правила


 
Тын-Дын ©   (2008-06-20 23:33) [13]

Удалено модератором


 
Loginov Dmitry ©   (2008-06-21 09:00) [14]

> command:=param;
> sss:=command^;
> freemem(param,SizeOf(string));


это что? Объясни, что хотел сделать.


 
Сергей М. ©   (2008-06-21 22:28) [15]


>  прога все больше и больше жрет памяти


Не мудрено, что "жрет".

Ты ж сам ее и "скармливаешь" всякий раз, когда вызываешь EndThread)



Страницы: 1 вся ветка

Текущий архив: 2008.07.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
15-1212582144
123-ий
2008-06-04 16:22
2008.07.20
Skype


15-1212757849
Vlad Oshin
2008-06-06 17:10
2008.07.20
Услышал, что Windows генерирует GUID на каждую свою копию


2-1213617117
Igor M.
2008-06-16 15:51
2008.07.20
Помогите с АЛГОРИТМом


15-1212563337
Kolan
2008-06-04 11:08
2008.07.20
Есть подозрение, что найдено средство от зависания отладки...


2-1213805282
Kaer
2008-06-18 20:08
2008.07.20
Вопрос о консольном приложении и функции