Jump to content

Programmierschnittstelle


Recommended Posts

Hallo alle miteinander...

 

Ich habe mich extra angemeldet um die Frage im Delphi Forum zu beantworten.

 

Gibt es eine Möglichkeit ObjectPascal (Delphi) für die Programmierung zu benutzen ? Ich gehe davon aus, daß die "Schnittstelle" eine DLL darstellt auf die zugegriffen wird. Ist es möglich, wenn es denn so ist, die Funktionen der DLL zu dokumentieren damit man mit so ziemlich jeder Programmiersprache darauf zugreifen kann ?

 

Danke für Info´s

Link to comment
Share on other sites

Die Schnittstelle ist eine TCP/IP Verbindung! Ansonsten wäre es nicht möglich den Brick Daemon auf einem anderen Rechner als das Steuerprogramm zu haben (nur dadurch ist auch z.B. eine Steuerung vom Handy aus möglich).

 

Die Bindings selber werden automatisch generiert aus ganz vielen Config Dateien für die einzelnen Produkte. Eine kurze Abhandlung darüber wie dies funktioniert und wie man eigene Bindings erstellen kann hab ich schonmal hier beschrieben: http://www.tinkerunity.org/wiki/index.php/BindingsErstellen

 

Falls du oder jemand anderes aus dem Delphi Forum sich daran versuchen  will stehe ich jederzeit für Fragen bereit! :)

Link to comment
Share on other sites

Danke für die schnelle Reaktion...

 

inzwischen habe ich viel gelesen. Bitte korrigiere mich wenn ich es falsch verstanden habe:

1. der Daemon ist der Service der den USB Treiber kapselt und zum Brick die Verbindung hält. Gleichzeitig lauscht er auf dem TCP Port 4... auf "Kommandos"

2. C# Bindings: Ist der Code der via TCP Socket zum Daemon "kontaktiert" (je nach Gerät)

3. Bei den C# Beispielen ist eine DLL dabei. Laut Text ist die DLL die compilierte Zusammenfassung der source\*.cs

... normalerweise könnte man doch dann über diese DLL arbeiten wenn die entsprechenden Funktionen exportiert sind. Leider ist das, wenn ich es richtig gesehen habe, nicht der Fall.

 

PS: Ich kann mal in der DelphiPraxis fragen ob einer die Units übersetzt. Ich habe leider nicht die Zeit dazu. Letztendlich wäre die DLL die einfachste Lösung, da es der Programmiersprache egal ist womit die DLL compiliert wurde. Es müßte dann nur eine Dokumentation der exportierten Funktionen geben.

 

Danke erstmal...

 

Link to comment
Share on other sites

Die dll die bei den C# Bindings dabei sind C# dlls, keine C dlls. Ich bin mir nicht sicher wie einfach das ist die aus Delphi auszurufen. Ich bin mir noch nicht mal sicher ob das überhaupt möglich ist.

 

Eine C dll könnte man aber aus den C Bindings erzeugen. Einen Generator direkt für Delphi zu schreiben ist allerdings vermutlich trotzdem weniger Aufwand als einen Wrapper für eine C dll zu schreiben!

 

Für ersteres sind ja schließlich schon alle Informationen maschinenlesbar vorhanden, für letzteres müsste man sich alles mit viel Zeitaufwand zusammensuchen und dann auch noch bei jedem neuen Produkt und jeder API Änderung updaten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...