Hallo erstmal super vielen Dank @Reinhard Kern und @Der_Unwissende !!!
@Reinhard Kern:
Das mit der Statusmaschine ist mir leider nicht so ganz klar geworden wie ich soetwas umsetzte
@Der_Unwissende
Danke für deine ausführliche(n) Antwort(en)!!
Nunja ich weiss ehrlich gesagt nicht wie ich so eine Jobliste erstellen soll.
TObjectlist ist ja eine Klasse, die Zeiger speichert, sehe ich doch richtig, oder?
Wenn ich nun meiner Objektliste vom Typ TObjeclist eine Funktion übergeben will, wie mache ich dass denn?
Objekliste.Add(Set_Serialnumber('SeriennummerXYZ'));
Ich habe es zurzeit recht statisch gelöst, aber bin nicht sehr glücklich drüber.
Mein Thread arbeitet statische Lese Methoden ab, je nach Parameter, den ich von aussen vorgebe.
Wenn ich dann eine Schreiboperation abgebe, dann stoppe ich den Thread vorher und lasse ihn dann weiterlaufen. (Dass finde ich sehr unschön)
folgenden Thread-Code habe ich bisher:
Delphi-Quellcode:
procedure TWorkThread.Execute;
(* ----------------------------------------- *)
var
com: Integer;
Identifier: Integer;
I: Integer;
begin
{ Thread-Code hier einfügen }
// FSTKObj.OnCommunicate:=UpdateCaption;
isStopped:=false;
FSTKObj.Get_Device_Identify (Identifier);
{ TODO : LÖSCHEN }
Identifier:=1000;
while NOT(Terminated)
do
begin
fCS.Enter;
LeseZyklischeDaten;
fCS.Leave;
case FCommand
of
STOPP_THREAD:
begin
isStopped:=true;
Self.Suspend;
// isStopped:=false;
end;
READ_HERSTELLERDATEN :
begin
Synchronize(ZeigeSandUhr);
LeseStammdaten;
Synchronize(UpdateStammdaten);
if ((FSTKObj.IsMulti)
or (FSTKObj.IsMaster))
then
begin
fCS.Enter;
LeseStammdatenMaster;
Synchronize(UpdateStammdatenMaster);
fCS.Leave;
end;
Synchronize(VersteckeSandUhr);
end;
READ_ANALOGOUT :
begin
fCS.Enter;
FSTKObj.Set_CalConfig(false);
try
fCS.Enter;
FSTKObj.Set_CalibDaten(frmMain.editKalibrierwert.Value);
fCS.Leave;
except
fCS.Leave;
FSTKObj.Set_CalibDaten(0);
end;
....
Abhängig von FCommand führe ich meine Lesebefehle aus.
Aber ich will ja so eine schöne Jobliste,
der ich auch Schreiboperationen mit Parameter übergabe aus dem Hauptthread übergeben kann.
Vielleicht kannst du mir ja mal ein Code Schnippsel schreiben, wäre super, stehe nämlich ganz schön aufm Schlauch.
DANKE!!!