Hallo Ele,
wir haben uns die Sache noch einmal durch den Kopf gehen lassen und stießen auf die Möglichkeit, ein Interface zu implementieren, welches den Vollzugriff auf alle Methoden und Eigenschaften eines Kassenbuchs zulässt, ohne, dass das aktuell geladene Kassenbuch dadurch beeinflusst wird.
Durch diese Technik ist es sogar möglich, beliebig viele Kassenbücher gleichzeitig zu laden und zu bearbeiten/auszuwerten.
Ich denke, dass Deine Anforderungen dadurch abgedeckt werden.
Die Syntax könnte z. B. so aussehen:
Code: Alles auswählen
Procedure Schalter1_OnClick
Var CB : Object
Var Kontostand : Double
CB.FillObject("ICashBook")
If CB.LoadFromFile("C:\ EuroKass\Data\Familie.KAS") = True
Kontostand = CB.Account("Bürobedarf").Balance
Waehrungsfeld1.Value = Kontostand
EndIf
CB.Nothing
EndProcedure
CB ist eine Variable vom Typ Object und durch CB.FillObject("ICashBook") wird ein Interface zu einer Kassenbuchschnittstelle hergestellt.
Über
CB.LoadFromFile("C:\ EuroKass\Data\Familie.KAS") wird das gewünschte Kassenbuch geladen
und über CB.Account("Bürobedarf").Balance kann anschließend ein Kontostand abgefragt werden.
Sollte der Zugriff auf das Kassenbuch wiederholt zu verschiedenen Zeitpunkten erfolgen, ist es sinnvoll, das Interface und den Ladevorgang in ein Modul auszulagern, damit der Ladevorgang nur einmal ausgeführt wird.
Wir melden uns in Kürze mit einer ersten Betaversion.
Bis dahin viele Grüße,
Dirk