Форум: "Начинающим";
Текущий архив: 2008.04.20;
Скачать: [xml.tar.bz2];
Внизпотоки Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c