Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Konzeptionelle Frage wegen Datenzuordnung (https://www.delphipraxis.net/127280-konzeptionelle-frage-wegen-datenzuordnung.html)

moelski 10. Jan 2009 06:38


Konzeptionelle Frage wegen Datenzuordnung
 
Moin !

Ich habe da mal eine konzeptionelle Frage ...

Und zwar möchten wir bei unserer neuen Software Interfaces für andere Programmierer anbieten. Wir haben uns dazu eine Art Beschreibungssprache ausgedacht die der Programmierer an unsere Anwendung sendet und dort wird das dann in Grafiken umgesetzt. Das klappt auch ganz gut.

Nun haben wir aber mehrere Interfaces:
* TCP/IP - Socket
* Pipes
* RS232 seriell
* über ein Memo was als eine Art "Command Interpreter" dient

Die Sache hat wunderbar funktioniert solange wir bidirektional gearbeitet haben. Der User hat einen Befehl abgesetzt "CreateChart" und es wurde in unserer Anwendung ein Chart erzeugt. Als "Returncode" haben wir dann eine Chart Nummer zurückgesendet. Mittels dieser Nummer konnte der User dann Kurven zeichnen indem er die Nummer als Indize verwendet hat.
Die Zuordnung von externen Daten zu einer der Grafiken in unserer Anwendung war also immer sichergestellt.

Nun haben sich aber einige Leute gemeldet das sie das ganze gerne in unidirektional umgesetzt haben möchten. Hintergrund ist z.B. bei µControllern das man nicht immer einen Emfangskanal der Schnittstelle hat oder einrichten möchte. Bedeutet also nun für uns das wir alles dahingehend umbauen sollten das es eben auch immer als Unidirektional funktioniert.

Das bedeutet aber das sich unsere Anwendung intern merken muss was es denn für externe Verbindungen gibt und welche Grafik denn dazu gehört. Und hier ist mein Problem ... Mir ist da noch nix brauchbares zu eingefallen.
Hat jemand von euch eine Idee wie man das Lösen könnte? Das Problem ist halt das wir eine Vielzahl von Interfaces anbieten möchten. Das bedeutet aus ganz unterschiedlichen Quellen können Daten kommen die irgendwie einer Grafik zugeordnet werden müssen. Nur wie ?

alzaimar 10. Jan 2009 07:56

Re: Konzeptionelle Frage wegen Datenzuordnung
 
So ganz hab ich die Problemstellung nicht verstanden, aber ihr könntet jeden Anwender/Schnittstelle registrieren. Entweder einmalig oder bei jedem Verbindunsaufbau. Teil der Registrierung ist dann die Angabe bestimmter Eigenschaften nur für diese Schnittstelle bzw. Anwender.

Mit dem System kann man dann nur unter Angabe einer Registrierungsnummer arbeiten, sodaß Eure Anwendung immer weiss, wie sie sich zu verhalten hat.

moelski 10. Jan 2009 08:09

Re: Konzeptionelle Frage wegen Datenzuordnung
 
Moin !

Zitat:

So ganz hab ich die Problemstellung nicht verstanden
Ok ich erkläre es mal so.

Nehmen wir mal an ein User hat zwei Geräte die gleizeitig in unserer Anwendung Daten abgeben möchten. Beide Geräte kommen mal über je einen seriellen Port rein.

Wenn man nur eine Unidirektionale Verbindung hat, dann kriegt die Anwendung nun Daten, weiss aber nicht wo die Daten hin müssen (in welcher Grafik das geplottet wird).

Was ich suche ist eben eine Methode wie man Verbindungen "registrieren" kann sodas die Anwendung bei Dateneingang eben genau weiss was zu tun ist. Und diese Registruermethode muss eben für alle Interfaces funktionieren:
* TCP/IP - Socket
* Pipes
* RS232 seriell
* über ein Memo was als eine Art "Command Interpreter" dient

alzaimar 10. Jan 2009 08:19

Re: Konzeptionelle Frage wegen Datenzuordnung
 
Du registrierst die entweder über eine kleine Anwendung und vergibst dann Registrierungsnummern. Eine Anwendung kann Daten nur mit dieser Registrierungsnummer abliefern.

moelski 10. Jan 2009 08:25

Re: Konzeptionelle Frage wegen Datenzuordnung
 
Moin !

Ne das macht die Sache schon zu kompliziert. Nehmen wir mal einen µController Entwickler der mal eben ein paar Daten abliegern möchte. Der will sich nicht erst mit Nummern rumschlagen sondern Daten abgeben und gut.

Ich hatte eher an sowas gedacht das man in der Anwendung eine Art Liste führt welche Interfaces gerade aktiv sind. Wenn Daten reinkommen weiss ich ja von wo die kommen. Dann müsste ich aus der Liste nur noch die zugehörige Grafik suchen um die Daten abzuliegern.

Aber irgendwie fehlt mir für diese Umsetzung noch eine zündende Idee, also wie ich das wirklich in Code realisieren könnte.

alzaimar 10. Jan 2009 08:46

Re: Konzeptionelle Frage wegen Datenzuordnung
 
Wenn Du schon eine Vorstellung hast, dann wäre es hilfreich gewesen, das im 1.Post zu erwähnen.
Delphi-Quellcode:
Type
  TIOConnectionType = (ictRS232, ictUSB, ictLAN, ictMController, ictCAN, ictText,...);
  TConnection = Class
    Property Name : String;
    Property IsUnidirectional : Boolean;
    Property DrawingIndex : Integer;
   ...
  End;

ConnectionList : Array [TIOInterfaceType] Of TConnection;
So vielleicht?

Phoenix 10. Jan 2009 08:49

Re: Konzeptionelle Frage wegen Datenzuordnung
 
Frag die µController-Entwickler mal, ob die eine Art Verbindungs-ID mitliefern können.
Also z.B. vor jedem Paket eine bestimmte Nummer, und dann noch eine Paketnummer, die immer inkrementiert wird.
Das heisst, der Sender selber vergibt sich eine ID. Da ggf. zwei auf die gleiche Nummer kommen könnten gibt es die Paketnummer, so dass hier noch eine weitere Zuordnung stattfinden kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 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