![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
считывание файлов в несколько потоков
s_ilnar © (2005-01-26 11:32:00)обьясните пжлста как можно считывать сразу 3-5 файлов
и загонять чать содержимыш скажем с StringGrid
В потоках я не разбираюсь если можно то с кодом
Заранее блогадарен
ShimON (2005-01-26 12:07:00) [1]Нет, конечно, это я для примера написал, у меня в экзекуте используется так: ConnEct.OpenUrl(...). Так можно??
begin...end (2005-01-26 12:03:00) [2]> [6] ShimON © (26.01.05 11:57)
A Form1 - это Ваш собственный невизуальный компонент?
См. в справке: threads -> VCL/CLX objects.
ShimON (2005-01-26 11:57:00) [3]Но если у меня есть собственный невизуальный компанент, то можно????
begin...end (2005-01-26 11:55:00) [4]> [3] ShimON © (26.01.05 11:49)
Нельзя обращаться к VCL-компонентам ( Form1.Edit1.Text:= 'Yes!!!') в методе Execute. Можно обращаться только в процедуре, используемой для синхронизации. В данном случае такой процедурой является RefreshIcon.
Miralex (2005-01-26 11:52:00) [5]while not Terminated do
begin
{ Place thread code here }
end;
ShimON (2005-01-26 11:49:00) [6]Объясни пожалуйста...
begin...end (2005-01-26 11:47:00) [7]> [1] ShimON © (26.01.05 11:41)
Неправильный пример потока. Небезопасный.
ShimON (2005-01-26 11:41:00) [8]Простейший пример потока.
type
TConnectThread = class(TThread)
private
BProverka: boolean;
protected
procedure Execute; override;
procedure RefreshIcon;
public
property Proverka: boolean read BProverka write BProverka;
end;
procedure TConnectThread.Execute;
begin
If BProverka then
Form1.Edit1.Text:= 'Yes!!!';
Synchronize(RefreshIcon);
end;
Прости, что не про файлы, но если умеешь работать с файлами то поймешь как применить