Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Visual Basic 6.0 / VBA » Chipdrive Software mit scard32.dll erstellen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
17.09.2003, 19:31 Uhr
~Atze
Gast


Hallo,
ich möchte mir der o.a. DLL mein ChipCardReader von Chipdrive bzw. Towitoko programmieren. Die mitgelieferte Dokumentation ist sehr dürftig was VB angeht.
Ich habe schon einige Dinge hinbekommen, aber was mir jetzt noch fehlt ist eine Event Abfrage, d.h. ich möchte eine Meldung auf mein Form bekommen wenn ich z.B. eine Karte einlege bzw. herausnehme.
Ich hoffe ich habe mich verständlich Ausgedrückt und hoffe auf euere Hilfe.


MfG

Atze
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.09.2003, 19:50 Uhr
Pablo
Supertux
(Operator)


Wllst du in C++ oder in VB programmieren?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.09.2003, 21:18 Uhr
~Atze
Gast


Hallo,

ich möchte in VB programmieren.

MfG

Atze
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.09.2003, 08:27 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Dann schau bitte in welchem Forum du postest!

--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.09.2003, 08:57 Uhr
Pablo
Supertux
(Operator)


Hast du die DLLs vom Hersteller oder hast du sie schon gemacht? Oder hast du vor, die DLLs selber zu schreiben und in welcher Sprache?

Was soll das Programm tun/können?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.09.2003, 15:59 Uhr
~Atze
Gast


Hallo,

ich habe die dll (scard32.dll) vom Hersteller, nun möchte ich mit dieser auf diverse Chipkarten zugreifen.
Das funktioniert auch soweit nur kann ich keine Event's steuern, d.h. wenn ich eine Karte in meinen Cad-Reader schiebe sollte eine Meldung erscheinen das z.B. ein Lesevorgang läuft.

MfG

Atze
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.09.2003, 16:41 Uhr
Pablo
Supertux
(Operator)


Was dasgt die Dokumentation zu diesen Funktionen? Wie heißen sie? Und welche Parameter (und Typ) muss man übergeben? Sonst können wir dir nicht helfen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.09.2003, 19:46 Uhr
~Atze
Gast


Hallo,

aufgerufen wird die dll wie folgt................

Visual Basic:
Declare Function SCardComand Lib "SCARD32.dll" (Handle As Long, ByVal Cmd As String, CmdLen As Long, ByVal DataIn As String, DataInLen As Long, ByVal DataOut As String, DataOutLen As Long) As Long

||LC01||||LC01||
Private Sub CommandButton4_Click()
Dim D As String
Dim E As String
Dim E1 As String
Dim nil As String

D = String(30, 0)
E1 = String(10, 0)
            L = SCardComand(0, "Apps,KVK,Name", 0, nil, 0, D, 35)
            If L = 4104 Then L = SCardComand(0, "Apps,KVK,Name", 0, nil, 0, D, 35)
            If L = 0 Then Label3.Caption = "Karte korrekt eingelesen !" Else DisplayError (L)
Label1.Caption = D
End Sub

||LC01||
Private Sub DisplayError(L As Long)
    Dim I As String
    Dim X As String
    I = String(200, 0)
    X = SCardComand(0, "System,ConvertErrCode," & Hex(L), 0, 0, 0, I, 200)
    Label3.Caption = "ERROR: " & Hex(L) & " " & I
   Exit Sub
End Sub



wie gesagt ich muss alles über Buttons starten, möchte aber eine Event Lösung.


MfG

Atze

-edit: Pablo [ vb ] tags gesetzt

Dieser Post wurde am 18.09.2003 um 19:54 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.09.2003, 20:03 Uhr
Pablo
Supertux
(Operator)


Ich glaube nicht, dass das dritte Parameter von SCardCommand 0 sein kann, sondern len("Apps,....."), das gleiche gilt für das 5 und das 7.

Was willst du über Event lösen?

Visual Basic:
Dim D As String
Dim E As String
Dim E1 As String
Dim nil As String

D = String(30, 0)
E1 = String(10, 0)
            L = SCardComand(0, "Apps,KVK,Name", 0, nil, 0, D, 35)
            If L = 4104 Then L = SCardComand(0, "Apps,KVK,Name", 0, nil, 0, D, 35)
            If L = 0 Then Label3.Caption = "Karte korrekt eingelesen !" Else DisplayError (L)
Label1.Caption = D


Willst du, dass das nicht per Anklicken eines Buttons ausgeführt wird? Dann muss du selber wissen, wann du dies ausführen willst.

Du kannst auch ein kleines Fenster dafür mache und in der Form_Load() Methode reinpacken. Dann wird es beim Start ausgeführt. Oder du kannst ein BAS Module erstellen und dort diese belibige Funktion starten. Du kannst auch über main() Mehode starten und dass sie diese Methode aufruft.

Events können nur Controls und Objekte, die als Controls deklariert worden sind ausgelöst werden.

Zu deinem Code: nach dem Else rufst du DisplayError(L) auf. Aber die Methode ist nur eine sub Prozedur, also musst du ohne Klammern L übergeben.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
18.09.2003, 21:17 Uhr
~Atze
Gast


Hallo,

ich möchte mit dem Event bezwecken das der Cardreaderstatus abgefragt wird.
Aber wir kommen mit der scard.dll da nicht weiter, denke ich.

Ein neuer Ansatz wäre da vielleicht ein Timer.
Ich habe folgende Interessante Sache gefunden komme damit aber nicht klar.

Beschreibung
Mit Hilfe der Windows API Funktionen lässt sich ein Timer auch ohne Timer-Control realisieren - ja sogar ohne Formular, falls gewünscht.

Alles, was man benötigt, sind nachfolgende Deklarationen und Prozeduren, die allesamt in ein Modul gepackt werden müssen.


Visual Basic:
Option Explicit

' alle benötigten API-Deklarationen
Declare Function SetTimer Lib "user32" _
  (ByVal hwnd As Long, ByVal nIDEvent As Long, _
   ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

Declare Function KillTimer Lib "user32" _
  (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

Declare Function GetDesktopWindow Lib "user32" () As Long
Public Sub StartTimer(ByVal hWnd As Long, _
  ByVal lInterval As Long)

  ' Ist kein Formular vorhanden (hWnd = 0), so
  ' nehmen wir einfach das Handle des Desktop-Fenster
  If hWnd = 0 Then hWnd = GetDesktopWindow()

  ' Timer starten:
  ' Interval-Angabe in Millisekunden  
  SetTimer hWnd, 0, lInterval, _
    AddressOf TimerProc
End Sub
Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, _
  ByVal uElapse As Long, ByVal lpTimerFunc As Long)
  
  ' .... hier Anweisungen für Timer-Event
  
End Sub
Public Sub KillTheTimer(ByVal hWnd As Long)
  ' WICHTIG! Timer killen, bevor die
  ' Anwendung beendet wird

  If hWnd = 0 Then hWnd = GetDesktopWindow()
  KillTimer hWnd, 0
End Sub



................. wenn ich damit alle x Millisekunden den Cardreaderzustand abfrage käme das meinem Wunsch schon sehr nahe.

Außerdem möchte ich dir für deine Geduld mit mir und meinem Problem danken, eine so intensive Hilfe ist nicht selbstverständlich im WWW, also meinen herzlichen Dank an dich Pablo Yanez.



MfG

Atze

--edit: Pablo. [ vb ] tags gesetzt --

Dieser Post wurde am 18.09.2003 um 21:32 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Visual Basic 6.0 / VBA ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: