Danke für die Antworten!
Die verwendete Delphi Version ist Delphi XE5 Architect.
Delphi-Quellcode:
procedure TMyOwnThread.Execute;
var
i : Integer;
begin
try
i := 0;
Synchronize(
nil,
procedure
begin
while i <= 20
do begin
Form1.Memo1.Lines.Add(IntTostr(i));
i := i + 1;
end;
end);
except
on e:
Exception do
ShowMessage(e.
Message);
end;
end;
Das hier klingt interessant. Ist es von Nachteil in so einer Procedure mehr zu verknüfpen? Plan wäre zB folgender:
Delphi-Quellcode:
procedure TMyOwnThread.Execute;
var
i : Integer;
begin
try
i := 0;
Synchronize(
nil,
procedure
begin
if Form1.CheckBox1.IsChecked
then procedure1;
if Form1.CheckBox2.IsChecked
then procedure2;
if Form1.CheckBox3.IsChecked
then procedure3;
if Form1.CheckBox4.IsChecked
then procedure4;
if Form1.CheckBox5.IsChecked
then procedure5;
if Form1.CheckBox6.IsChecked
then procedure6;
end);
except
on e:
Exception do
ShowMessage(e.
Message);
end;
end;
wobei es sich bei procedure1 zB um folgendes handelt:
Delphi-Quellcode:
procedure procedure1();
begin
Form1.Memo1.Lines.Add('procedure 1 gestartet');
//irgendwelche dinge
Form1.Memo1.Lines.Add('procedure 1 beendet');
end;
--------------------------------------------------------------
Was ich eigentlich zu erreichen versuche, vermutlich habe ich das nicht richtig rüber gebracht,
Der User wählt diverse Dinge aus per checkbox und dementsprechend werden dann verschiedene Funktionen aufgerufen die ihre arbeit verrichten.
Jede Funktion schreibt diverse Infos in ein Memo (ich taufe dies jetzt mal "LiveLog")
Das heisst ich will natürlich:
A) Das
GUI nicht zum "freeze" bringen
und B) von jeder procedure dann auf die Komponenten wie Checkboxen, TEdit's, Memo zugreifen