AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Scanner API verwenden (C++)

Ein Thema von cltom · begonnen am 1. Sep 2011 · letzter Beitrag vom 5. Sep 2011
Antwort Antwort
cltom

Registriert seit: 22. Sep 2005
221 Beiträge
 
Delphi 12 Athens
 
#1

Scanner API verwenden (C++)

  Alt 1. Sep 2011, 16:43
Hej,

sehr wahrscheinlich keine kluge Frage, ich probier es dennoch: Ich habe ein SDK für einen Scanner, das Ziel ist auch, den Scanner selber anzusprechen, um bestimmte Funktionen auszuführen, die im Twain-Interface nicht verfügbar sind. Das SDK ist aber auf C/C++ ausgelegt, die API ist daher ebenfalls in C. Darüber hinaus gibt es noch eine DLL für den Scanner.

Ist es chancenlos oder denkbar, dieses SDK unter Delphi zu nutzen bzw. was muss man in Erfahrung bringen, um diese Frage beantworten zu können.

danke und gruß
tom
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Scanner API verwenden (C++)

  Alt 1. Sep 2011, 16:48
Die Überschrift sagt, es gehe um eine C++-API. Das wäre schwer. Wenn die API in C ist, ist das aber nun wieder kein Problem. Die gesamte Windows API ist's immerhin ebenfalls

Aber warum geht eine DLL über die API hinaus? Besagt die API nicht, wie diese DLL zu verwenden ist, bzw. was ist das für eine DLL und hat diese eine eigene API?

Schritt 1 wäre für mich, die Export-Tabelle der DLL anzusehen. Sind die Exports decorated oder schlichte Namen?

Schritt 2 wäre dann nach einer Beschreibung der API zu suchen, um die Parameter, Aufrufkonventionen etc. herauszufinden.

Falls Du in Schritt 2 nichts findest, wird es haarig. Debugger her, vllt. auch erstmal sowas wie ApiSpy, und die Parameter herausfinden. Und hoffen daß die Funktionsnamen aussagekräftig genug sind
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
221 Beiträge
 
Delphi 12 Athens
 
#3

AW: Scanner API verwenden (C++)

  Alt 1. Sep 2011, 16:57
Hej,

so sehr ich über die schnelle Antwort dankbar bin, so wenig verstehe ich sie, was aber daran liegt, dass mir hier völlig der Hintergrund fehlt, was die API macht, was die Dll macht und wie ich hinter beides komme.

Die ScannerAPI.h enthält neben einigen Konstanten-Deklarationen rund ein Dutzend Scanner-Funktionsnahmen. Ist es jetzt so, dass diese Funktionen dann in der Dll des Scanners liegen? Müsste ich dann nur etwas tun, um die API anzupassen, um dann die DLL nutzen zu können.

Wie gesagt, sorry für mein Laientum, danke für Orientierungshilfe
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Scanner API verwenden (C++)

  Alt 1. Sep 2011, 17:00
DLL = Binärdatei mit Code
API = Application Programming Interface = Beschreibung der Schnittstelle

Du hast eine .h? Super

Ja, die .h beschreibt nur, welche Funktionen aus der .dll verwendet werden sollen.

Du musst also nur die Inhalte nach Delphi übertragen.

Konstanten sind ja recht einfach, bei den Funktionsnamen (sicherlich mit Parametern) musst Du halt schauen, daß Du sie richtig übersetzt, die Aufrufskonvention, die Übergabetypen und die Variablentypen sind ja zwischen C und Delphi unterschiedlich geschrieben.

Als Beispiel fürs Verständnis könntest Du in die (z.B.) Windows.pas schauen und Dir zu Windows-API-Aufrufen parallel im MSDN anschauen, wie diese Funktionen in C definiert sind.
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
221 Beiträge
 
Delphi 12 Athens
 
#5

AW: Scanner API verwenden (C++)

  Alt 5. Sep 2011, 10:20
Danke Dir nochmals! Ich werde mich mal mit den Hinweis soweit einlesen, um beurteilen zu können, ob ich da in vernünftiger Zeit weiterkomme.

gruß
tom
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz