Jump to content

Programmierschnittstelle


haentschman

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 zu diesem Kommentar
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 zu diesem Kommentar
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 zu diesem Kommentar
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 zu diesem Kommentar
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.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...