Hallo zusammen,
ich versuche gerade mit einem Thread Panels aufgund der Anzahl der Dateien in einer Filelistbox in einer Form darzustellen.
Klappt auch, solange das ende der Dateien noch nicht erreicht ist.
Ist das der Fall, werden die Panels nicht mehr angezeigt.
Hat da jemand eine Ahnung.
Ich habe nicht viel (Keine grosse) Erfahrung mit Threads
Hier der Source.
Thread Unit ...
<PRE>
type TCreateImages = class(TThread)
private
protected
procedure execute; override;
public
constructor create(DIR: string);
end;
implementation
uses unit1;
constructor TCreateImages.create(DIR: string);
begin
inherited create(true);
end;
procedure TCreateImages.execute;
var
I : Integer;
pan : TPanel;
begin
with form1 do begin
for I := 0 to filelistbox1.Count - 1 do
begin
pan := TPanel.Create(Form1.ScrollBox1);
pan.Name := 'PAN' + inttostr(I);
pan.Parent := scrollbox1;
pan.Height := 100;
pan.Align := altop;
application.ProcessMessages;
end;
end;
end;
</PRE>
Hauptform
<PRE>
procedure TForm1.Button1Click(Sender: TObject);
var
TH : TThread;
begin
TH := TCreateImages.create(DirectoryListBox1.Directory + '\*.*');
TH.Priority := tpLower;
TH.FreeOnTerminate := true;
TH.Resume;
end;
</PRE>
Ich hoffe, mir kann jemand helfen.
Danke im Voraus.
John
ich versuche gerade mit einem Thread Panels aufgund der Anzahl der Dateien in einer Filelistbox in einer Form darzustellen.
Klappt auch, solange das ende der Dateien noch nicht erreicht ist.
Ist das der Fall, werden die Panels nicht mehr angezeigt.
Hat da jemand eine Ahnung.
Ich habe nicht viel (Keine grosse) Erfahrung mit Threads
Hier der Source.
Thread Unit ...
<PRE>
type TCreateImages = class(TThread)
private
protected
procedure execute; override;
public
constructor create(DIR: string);
end;
implementation
uses unit1;
constructor TCreateImages.create(DIR: string);
begin
inherited create(true);
end;
procedure TCreateImages.execute;
var
I : Integer;
pan : TPanel;
begin
with form1 do begin
for I := 0 to filelistbox1.Count - 1 do
begin
pan := TPanel.Create(Form1.ScrollBox1);
pan.Name := 'PAN' + inttostr(I);
pan.Parent := scrollbox1;
pan.Height := 100;
pan.Align := altop;
application.ProcessMessages;
end;
end;
end;
</PRE>
Hauptform
<PRE>
procedure TForm1.Button1Click(Sender: TObject);
var
TH : TThread;
begin
TH := TCreateImages.create(DirectoryListBox1.Directory + '\*.*');
TH.Priority := tpLower;
TH.FreeOnTerminate := true;
TH.Resume;
end;
</PRE>
Ich hoffe, mir kann jemand helfen.
Danke im Voraus.
John
Comment