Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Frage zu IPC und Übertragung von offenen Array-Parametern

  Alt 6. Feb 2009, 12:33
Hi,

ich brauch mal wieder etwas Brainstorming

Ich möchte von einem NamedPipe Server neben einem StatusCode am liebsten typvariable offene Array-Parameter (array of const) übertragen. Die verschiedenen Variablen sollen erst im NamedPipe Client zu einer Meldung für den Benutzer zusammengesetzt werden, da dies sprachabhängig in der GUI geschieht. Für den IPC habe ich entsprechenden Stream-Zugriff.

Beim Server laufen jetzt StatusInformationen auf wie z.B.
Zitat:
Kategorie: SmallInt 0..5
ID: Integer
Argumente: array of const
In einem Record geht das so natürlich nicht, hier muß ein array of TVarRec verwendet werden.

Ich überlege, wie ich das möglichst geschickt mache und welche Möglichkeiten es gibt:

1) Statt offene, typvariable Parameter werden nur Strings übertragen und die "array of const" werden durch dynm. String-Arrays ersetzt. Vorteil: Einfach zu übertragen (z.B. per StringList). Nachteil: Die Parameter müssen vorher immer auf Str konvertiert werden.

2) Ich bleibe bei offenen Parametern und muß eine VarRecArrayToStrings()- und StringsToVarRecArray()-Fkt schreiben.

Technisch ist das alles realisierbar, man kann ja die VTypen des VarRec ermitteln und die Daten kopieren. Pointer und Objekte bleiben außen vor. Irgendwie fehlt mir hierbei jedoch eine Abstraktionsschicht.

Was würdet Ihr machen, um diese typoffenen Variablen per Stream in einer NamedPipe zu übertragen?

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat