Seite 1 von 1

C-API-Technische Sicherheitseinrichtungen Kasse

Verfasst: Mi, 15. Jan 2020 13:46
von miwe-pos
Ab 1.1.2020 müssen Kassen eine Technische Sicherheitseinrichtung für die Finanzbehörden besitzen.
Aus Lieferschwierigkeiten ist der Termin erstmal bis 30.9.2020 verlängert worden.
Die Anbieter (EPSON, Swissbit,Bundesdruckerei) bieten C-DLL's bzw. C-Lib's zum einbinden in andere Programme an.
In der Xbase++ C-Api wird zwar beschrieben, wie eigene C-Programme eingebunden werden
können, doch wie der Zugriff auf die C-Funktionen der fremden DLL
bzw. Lib in das eigene Programm erfolgt,
ist meines Erachtens nicht genügend beschrieben!

Hat vielleicht jemand dafür Beispiele bzw. kann einen helfenden Tip geben?

Re: C-API-Technische Sicherheitseinrichtungen Kasse

Verfasst: Mi, 15. Jan 2020 13:54
von Jan
Hallo miwe-pos,

die Wissenbasis ist kein guter Platz für die Frage. Hier werden fertige Lösungen, Tools, etc. gepostet.

Ich möchte Dir das mit der C-API nicht ausreden. Aber warum? Bei Epson z. B. kannst Du ja die Sockets nutzen, um die Daten auszutauschen. Dann muß man keine Fremdbibliotheken nutzen.

Jan

Re: C-API-Technische Sicherheitseinrichtungen Kasse

Verfasst: Mi, 15. Jan 2020 13:54
von brandelh
Da bist du auf dem falschen Weg, die Xbase++-C-API ist für was anderes.

System oder C-DLLs aufzurufen macht man ... je nach Version mit anderen Funktionen:

1. DLLCALL() oder ab 2.00 auch mit EXTERN Befehl
2. Pablos OT4XB ... Beispiel hierfür sind z.B. meine Klassen für den Zugriff auf QuickPDF (XBPrintPDF) oder LibXL (HBLibXL).

Hierzu findest du hier verschiedene Diskussionen, meist unter API Zugriffe und auch Beispiele im Source Verzeichnis der Installation:
:arrow: ...\source\samples\basics\ExtDll

Stimmt verschieben muss ich das auch ....
PS: die Schriftgröße oben signalisiert, dass du uns anschreien willst, ist nicht nötig ;-)

Re: C-API-Technische Sicherheitseinrichtungen Kasse

Verfasst: Mi, 15. Jan 2020 14:44
von miwe-pos
Hubert und Jan,
danke für Eure schnelle Reaktion.
Zuerst "Anschreien" will ich niemand. Schreibt die Schriftgröße meiner Unerfahrenheit im Forum zu!
(Mein erster Beitrag)
Jan, was Du mit Sockets meinst, sind für mich "Böhmische Dörfer"? Aber ich will auch nicht die EPSON-TSE nutzen.
Ich pendle zwischen Swissbit-Api und Bundesdruckerei-API (genauer "Cryptovision")
Hubert,
Dein Beispielprogramm habe ich gefunden.
Werde mal selbst eperimentieren. Wenn ich eine Frage habe, melde ich mich wieder.
Also nochmals danke Euch beiden.
Beste Grüße

Michael
(miwe in miwe-pos steht für Michael wetterhahn)

Re: C-API-Technische Sicherheitseinrichtungen Kasse

Verfasst: Mi, 15. Jan 2020 14:47
von brandelh
miwe-pos hat geschrieben: Mi, 15. Jan 2020 14:44 Zuerst "Anschreien" will ich niemand. Schreibt die Schriftgröße meiner Unerfahrenheit im Forum zu!
(Mein erster Beitrag)
das dachte ich mir :-)

Frag ruhig, wenn du Infos brauchst.

Hast du eigentlich die 1.90 oder die 2.00 im Einsatz ?

Re: C-API-Technische Sicherheitseinrichtungen Kasse

Verfasst: Mi, 15. Jan 2020 17:19
von miwe-pos
Hallo Hubert,
z.Zt. beide
Gruß
michael

Re: C-API-Technische Sicherheitseinrichtungen Kasse

Verfasst: Do, 16. Jan 2020 8:22
von brandelh
Mit der 2.0 und dem EXTERN Befehl kann man die Definition am Ende einer PRG machen (meist eine Zeile) und davor eine Klasse, die gekapselt auf diese Befehle zugreift.
So kann man einen Quellcode für ANSI und OEM halten und eventuelle umständliche Anpassungen vom eigenen Programm fern halten.

Mit der 1.90 und DLLCALL() kann man so ähnlich vorgehen, wenn die Rückgabewerte immer LONG Vars sind und als Parameter nur LONG, StringPointer oder normale Zahlen benötigt werden.
Double als Parameter geht nicht und die Rückgabe von Strings ist auch nicht möglich. Hier braucht man dann Pablos OT4XB, die kommt mit allem zurecht. Beispiele für Aufrufe mit allen möglichen parametern in meiner HBPrintPDF.PRG