AGB  ·  Datenschutz  ·  Impressum  







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

TSmartCard für Delphi 2010

Ein Thema von hoika · begonnen am 3. Mai 2011 · letzter Beitrag vom 17. Apr 2013
Antwort Antwort
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#1

AW: TSmartCard für Delphi 2010

  Alt 9. Mai 2011, 12:29
Immer noch der gleiche Fehler, dass er die DLL nicht finden kann? Mh, wie gesagt, das mir der Suche nach der DLL habe ich ebenfalls geändert - sicher nicht ohne Grund, aber welcher das war, weiß ich auch nicht mehr.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#2

AW: TSmartCard für Delphi 2010

  Alt 9. Mai 2011, 13:22
Nee - klappt immernoch nicht Vielleicht fällt dir (oder jemand anderem) ja doch nochwas ein.

Wäre super..

Tks trotzdem schonmal..

Schorsch
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#3

AW: TSmartCard für Delphi 2010

  Alt 9. Mai 2011, 13:34
Ja was hast du denn geändert?
Bei mir sieht SetActive so aus, wobei die Konstante DllFile vor meiner Änderung DllFile32 oder so ähnlich hieß:
Delphi-Quellcode:
procedure TSmartCard.SetActive(Value: Boolean);
var
  C,L,I: LongInt;
  S: AnsiString;
begin
  if Value = FActive then exit;
  try SetCursor (LoadCursor (0, IDC_WAIT));

  if Value then begin
    if FLibHandle > 0 then FreeLibrary(FLibHandle);
    FLibHandle:=2;
    FLibHandle:=LoadLibrary(DllFile);
    if FLibHandle < HINSTANCE_ERROR then
      Error('Invalid/missing SmartCard library '+ DllFile +
            ' (Error code '+IntToStr(FLibHandle)+')'+#13#10+
            'Pls. download latest version at: http://www.towitoko.de');
    {$IFDEF SCARDDIR}
    FSCardComand:=SCardComand;
    {$ELSE}
    @FSCardComand:=GetProcAddress(FLibHandle, 'SCardComand');
    {$ENDIF}
    if not Assigned(FSCardComand) then begin
      FreeLibrary(FLibHandle);
      FLibHandle:=0;
      Error('Invalid SmartCard library '+StrPas(PAnsiChar(@DllFile[1]))+
            ' (version mismatch)'+#13#10+
            'Pls. download latest version at: http://www.towitoko.de');
    end;
    FTDevHandle:=0;
    L:=-1; C:=0;
    S:=cmSystem+cmAddHWndMsg+
       IntToStr(FWindowHandle)+','+IntToStr(TDEVMSG)+#0;
    I:=FSCardComand(L,@S[1],C,nil,C,nil,C);
    if (I > 0) or (L <= 0) then begin
      FreeLibrary(FLibHandle);
      FLibHandle:=0;
      Error('Cannot access SmartCard Server: '+IntToHex(I,4));
    end;
    FTDevHandle:=L;
    FActive:=True;
    GetDeviceList;
    InsertMenuItems;
  end else begin
    try Comand(cmSystem+cmDelHWnd+IntToStr(FWindowHandle),nil,0,nil,0); except end;
    try Comand(cmSystem+cmDestroy,nil,0,nil,0); except end;
    FreeLibrary(FLibHandle);
    FLibHandle:=0;
    FActive:=False;
  end;
  finally Screen.Cursor:=crDefault; end;
end;
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#4

AW: TSmartCard für Delphi 2010

  Alt 9. Mai 2011, 14:20
Also der Text sieht absolut abders aus als der Meine. Wo bekommst du denn "DllFile" her? Hast du die global definiert?

Hast du denn die Sourcen noch irgendwo auf der Platte rumkreisen und könntest die mir zukommen lassen?

Jedenfalls mach ich gleich Feierabend - mache mich aber später daheim nochmal dran.

Tks nochmal..
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#5

AW: TSmartCard für Delphi 2010

  Alt 9. Mai 2011, 15:00
Absolut anders? Mh, also ein wenig habe ich schon verändert, aber nicht so gravierend. Scheint, als hätten wir verschiedene Versionen.
Ich habe doch gesagt, dass DllFile die Konstante ist, die bei dir DllFile32 oder so ähnlich heißen müsste.
Kann ich machen, musste mir nur mal deine E-Mail-Adresse per PN schicken
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
schorsch666

Registriert seit: 21. Apr 2011
81 Beiträge
 
#6

AW: TSmartCard für Delphi 2010

  Alt 10. Mai 2011, 12:28
Hallo nochmal,
also ich habe netterweise die geänderten Sourcen von "Deep-Sea" erhalten und hänge schon den ganzen Tag erfolglos dran die Kompo zum Laufen zu bringen

Ich bekomme die zwar compiliert und auch installiert (Package .. wurde installiert) aber ich sehe einfach keine Kompo auf der Kompo-Leiste

Vielleicht mache ich ja auch einfach nur etwas falsch?

Ich gehe auf Komponente, Komponente installieren, in ein neues Package, als Unitname wähle ich die scardc32.pas, Weiter, als Name gebe ich TSmartcard ein, Fertig stellen... ratter, ratter.. TSmartcard.bpl wurde installiert - aber ich seh nix. Auch ein Delphi-Neustart bringt nix.

In meinem Delphi 7 ist die auch drin und da wird sie mir auf einem sep. Reiter namens TOWITOKO angezeigt. Gehe ich mit der Maus drüber kommt SmartCard (SCardC32).

Vielleicht mache ich das ja auch nur komplett falsch. Jemand noch ne Idee?

Tks..

Schorsch
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#7

AW: TSmartCard für Delphi 2010

  Alt 10. Mai 2011, 13:45
In neueren Version von Delphi kann man Komponenten ja nur noch in Packages hinzufügen. Und da musst du diese natürlich mittels RegisterComponents registrieren
Z.B. mit Hilfe einer extra Unit im Package:
Delphi-Quellcode:
unit Reg;

interface

procedure Register;

implementation

uses SCardC32;

procedure Register;
begin
  RegisterComponents('TOWITOKO', [TSmartCard]);
end;

end.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  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 18:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz