AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Jobliste Kommunikation mit externem Gerät

Ein Thema von DelphiManiac · begonnen am 17. Nov 2006 · letzter Beitrag vom 23. Nov 2006
 
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#4

Re: Jobliste Kommunikation mit externem Gerät

  Alt 21. Nov 2006, 09:03
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!!!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz