Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Chipdrive an Com Schnittstelle ansprechen

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 <
010
01.04.2003, 10:09 Uhr
~Loki
Gast


Bin mal echt beeindruckt!!!
Möchte mich nochmals riesig für deine Hilfe bedanken.
Sieht eigentlich genau nach dem aus das ich brauch, muß mich jetzt nur noch durch diese Windowsprogrammierung kämpfen, erkenne kaum noch richtige C++ Züge darin
Da hab ich ja noch was vormir...

Gruß, Loki

P.S. Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
03.04.2003, 10:43 Uhr
~Loki
Gast


Kannst du mir vielleicht noch diesen Ausschnitt erklären, so das es auch ein Anfänger versteht

m_pSCardCommand = reinterpret_cast<long (__stdcall *)(long *pHandle, char *cmd, long *pCmdLen,
char *dataIn, long *pDataInLen, char *dataOut, long *pDataOutLen)>(GetProcAddress(m_hDll,"SCardComand"));
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
03.04.2003, 13:12 Uhr
Tommix



Ich versuch's:
Auf Funktionen innerhalb DLLs greift man über Zeiger zu. m_pSCardCommand ist ein Zeiger auf die Funktion SCardComand in der DLL. Um dessen Wert zu bekommen, rufe ich die Funtion GetProcAddress(Handle_der_DLL, Name_der_Funktion) auf. Diese liefert den Zeiger als FARPROC, was einfach ein umbenanntes int ist. Also muß ich es noch in den richtigen Typ wandeln:
neuer_Ausdruck = reinterpret_cast<neuer_typ>(alter_Ausdruck); Geht auch im alten C-Stil: neuer_Ausdruck = (neuer_Typ)alter_Ausdruck.
Den Funktionsprototyp kenne ich aus der Dokumentation:
long __stdcall SCardComand(long *pHandle, char *cmd, long *pCmdLen, char *dataIn, long *pDataInLen, char *dataOut, long *pDataOutLen);
und der kryptische Ausdruck oben beschreibt einen Zeiger darauf.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
03.04.2003, 15:00 Uhr
~Loki
Gast


Oh man da hab ich mir was eingebrockt
Nach diesem Projekt werde ich nie wieder MFC programmieren, oder generell einen PC anfassen
Kann mich immer wieder nur für deine Hilfe bedanken.

Gruß, Loki
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
03.04.2003, 20:26 Uhr
Tommix



Kein Problem - ich hab den Einstieg auch erst durch dieses und das alte Parsimony- Forum geschafft (und Visual C++ in 21 Tagen - siehe E-Books links in der Navigationsleiste). Man muß am Anfang auch nicht alles bis in's letzte Detail verstanden haben.

Gruß, Tommxi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
17.04.2003, 09:06 Uhr
~Loki
Gast


Hi Tomix,

sorry das ich nochmal störe. Könntest du mir auch die SCardTest2.h schicken. Ich bin zwar eigentlich jetzt endlich fertig (dank deiner Hilfe!!!)würde aber gerne noch andere Versionen sehen.

Vielen Dank

MfG Loki
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
18.04.2003, 08:18 Uhr
Tommix



Hallo,
der Header wird eigentlich beim Anlegen des Projektes automatisch erzeugt:

Code:
#if !defined(AFX_SCARDTEST2_H__B377D106_6274_11D5_85CE_9E2FAADA0B29__INCLUDED_)
#define AFX_SCARDTEST2_H__B377D106_6274_11D5_85CE_9E2FAADA0B29__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "resource.h"


#endif // !defined(AFX_SCARDTEST2_H__B377D106_6274_11D5_85CE_9E2FAADA0B29__INCLUDED_)


Gruß, Tommix

Dieser Post wurde am 18.04.2003 um 08:19 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ VC++ / MFC ]  


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: