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

Вниз

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

 
tim   (2008-03-26 02:48) [0]

Удалено модератором
Примечание: восстановление закрытой ветки


 
Джо ©   (2008-03-26 02:55) [1]

В приведенном коде нет никаких окон. Более того, в нем нет даже объявления класса TGet_links.
Теперь понятно, почему прикрыли тему.


 
tim   (2008-03-26 03:14) [2]

get_links не из той кнопки взял,
procedure TForm1.Button8Click(Sender: TObject);
var
pot: TPotok;
begin
pot := TPotok.Create;
end;

procedure TPotok.Execute;
var
 j, p, w, g, a, n, h, l, b, x: integer;
 s, s_sh, new_s: string;
 i, q: Integer;
 pos_2: string;
 pos_1: string;
 list: wideString;
 xz, gg: boolean;
 col_cd, cx: Integer;
 shablon: Boolean;
 shablon_: boolean;
 maximum: boolean;
 list_shablon: TStringList;
begin
 list_shablon := TStringList.Create;
//Clear
 for i := 0 to form1.StringGrid1.RowCount - 1 do
 begin
   form1.StringGrid1.Cells[0, i] := "";
   form1.StringGrid1.Cells[1, i] := "";
 end;
 for i := 1 to form1.StringGrid2.RowCount - 1 do
 begin
   form1.StringGrid2.Cells[1, i] := "none";
   form1.StringGrid2.Cells[2, i] := "none";
 end;
 form1.StringGrid1.RowCount := 1;
 list_shablon.Clear;
 form1.ListBox1.Clear;
 Form1.ListBox2.Clear;
 shablon := form1.CheckBox2.Checked;
 shablon_ := false;
 maximum := Form1.CheckBox4.Checked;
 if shablon then
   form1.StringGrid2.Cells[1, 4] := "YES"
 else
   form1.StringGrid2.Cells[1, 4] := "NO";
 if maximum then
   form1.StringGrid2.Cells[1, 5] := "YES"
 else
   form1.StringGrid2.Cells[1, 5] := "NO";  
 Form1.StringGrid2.Cells[2,6] := "Âêë.";
 Form1.StringGrid2.Cells[2,7] := "Âêë.";
for i:=0 to form1.listbox1.count - 1 do
begin
 text := form1.listbox1.items.strings[i];
 дальше несколько сот строк кода парсинга  
end;

end;


 
Германн ©   (2008-03-26 03:42) [3]


>  дальше несколько сот строк кода парсинга

Да и этого уже достаточно. Книжки читай.


 
MBo ©   (2008-03-26 05:11) [4]

В коде нет никакой синхронизации обращения к VCL-контролам, а так нельзя. Да и неясно, почему для такой работы выбран отдельный поток


 
tim   (2008-03-26 14:15) [5]


>  Да и неясно, почему для такой работы выбран отдельный поток

В listbox поступают данные через разные промежутки времени и есть с десятток процедур которые как только появляются новые данные должны их обрабатывать каждая по своему. А так это довольно долго все будет высчитываться...


 
MBo ©   (2008-03-26 14:25) [6]

>А так это довольно долго все будет высчитываться...
Многопоточность не увеличивает производительность компьютера.


 
tim   (2008-03-26 14:33) [7]

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


 
Palladin ©   (2008-03-26 14:36) [8]

ты статью читал на которую я дал тебе ссылку? ты понял для чего нужен synchronize? иди читай...



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
2-1206586708
Stepper
2008-03-27 05:58
2008.04.20
Вывод данных в RichEdit с предварительным удалением пробела?


15-1205067615
wkolnikewe
2008-03-09 16:00
2008.04.20
простой вопрос


15-1205124920
xVlad
2008-03-10 07:55
2008.04.20
Си в delphi


2-1206685011
Uno-84
2008-03-28 09:16
2008.04.20
Пересчет количества строк в таблице


2-1206652100
helpmepls
2008-03-28 00:08
2008.04.20
Unassigned