Announcement

Collapse
No announcement yet.

c++ nach delphi portieren mit Zugriff auf CSP2.dll

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • c++ nach delphi portieren mit Zugriff auf CSP2.dll

    Delphi 5, w2000
    Habe um einen Scanner auszulesen ein Programm in c++ welches die Daten in eine Textdatei schreibt. Von dort lese ich die Daten dann in ein Delphiprogramm ein. Für ein paar neue Funktionen in dem Delphiprogramm muss ich die daten aber direkt aus dem Scanner auslesen. Darum habe ich mir die Arbeit gemacht das ganze C++-Programm in Delphi umzusetzen. Funktioniert alles wunderbar, nur die function "csp2GetPacket(barcode ,n , sizeof(barcode))" bringt immer als Rückgabewert -2 (falscher Parameter=if the user requested a packet that does not exist). Hat schon mal jemand diese Funktion aus der DLL "csp2.dll" in Delphi erfolgreich verwendet?. Das Auslesen der Anzahl der Datensätze aus dem Scanner funktioniert.
    Einbindung:
    Function csp2GetPacket (var stPacketData : array of char; lgBarcodeNumber : longint; nMaxLength : Integer): Integer ; stdcall; external dllname;
    Variable
    barcode : array[0..99] of char; n : integer
    Gruß Andreas

  • #2
    Ich würde an deiner Stelle mal angeben, um welchen Scanner es sich handelt. Zuerst dachte ich ja, es geht um einen A4-Scanner, bis ich dann auf Barcode stieß. Mache zwar selber auch was mit Barcode-Scannern und Delphi, allerdings hängen diese immer am ComPort, sodaß ein Zugriff über dll nicht erforderlich ist.
    Und selbst wenn jemand eine csp2.dll im Einsatz hat, wäre es hilfreich zu wissen, von welcher Firma die ist (oder ist das eine bereits in Windows integrierte dll?), um welche Version es sich handelt und welchen Scanner du damit ansteuerst.<br>
    bye,
    Helmu

    Comment


    • #3
      Der Barcodescanner ist der CS 1504 von Symbol, die DLL haben wir mit der Demosoftware von Symbol mitbekommen und die Demoversion in C++ so weiterentwickelt, dass wir diese für unser Programm verwenden konnten. Der Barcodescanner hängt am USB-Anschluss wird aber über die COM-Schnittstelle angesprochen. Ich hatte hier im Forum einen Eintrag zu der CSP2.dll gefunden mit einer anderen externen function die auch von uns in dem Zusammenhang verwendet wird wo die Bezeichnung cs1504 mit auftaucht, daher nur der Hinweis auf die DLL.
      Gruß Andrea

      Comment


      • #4
        Mittlerweile habe ich das Problem selber gelöst.
        Function csp2GetPacket (stPacketData : pchar; lgBarcodeNumber : integer; nMaxLength : Integer): Integer ; stdcall; external dllname;
        Das Problem sind die Unterschiede in der Stringbehandlung von Delphi und C++. Die Variable "stPacketData" muss als pchar und nicht als "array of char" übergeben werden.
        Gruß Andrea

        Comment

        Working...
        X