deutschsprachige FoxPro User Group
Forum View
Home
  
  Eric-Funktion mit Strukturreferenz- #15885 in section [734094]
Sec: (51) MS-Visual FoxPro 9.0
Von: Volkmar Höhn
An: Bernhard Sander
Am/Um: 26.06.2012 15:18:30 gelesen

Hallo miteinander,
es ist leider noch keine Lösung in Sicht, aber trotzdem Danke für die freundliche Unterstützung.
Vielleicht gibt's noch weitere Ideen? Wahrscheinlich habe ich irgendwo einen Grundsatzfehler?

Und nun der Programmcode:

CLEAR DLLS
rcZert = 0
DECLARE long EricGetHandleToCertificate IN ericapi.dll long @ hToken, integer @ iInfo, string pathkey
rcZert = EricGetHandleToCertificate(@hToken, @iInfo, pathkey) && -> in Ordnung

SET CLASSLIB TO "\klasse\Struct.vcx" ADDITIVE
SET PROCEDURE TO ..\Programm\EricParameter.prg ADDITIVE
DO ..\Programm\EricParameter && -> siehe unten

loEricKey = CREATEOBJECT("EricKey")
loEricKey.pHandle = hToken
loEricKey.cPIN = "xxxxxx"
lcPara = loEricKey.Getstring() &&Versuch auch mit + CHR(0)

loBufferlen = CREATEOBJECT("Eric_size_t")
loBufferlen.bufferlen = 20000
lcBufferlen = loBufferlen.GetString() &&Versuch auch mit + CHR(0)
lpPuffer = REPLICATE(CHR(0), loBufferlen.bufferlen)

*Es folgen acht mögliche und unmögliche Versuche !jedes Mal mit Ausnahmefehler!
DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string @ lpPuffer, string @ lcBufferlen
rcEricKey = EricGetPublicKey(@lcPara, @lpPuffer, @lcBufferlen)

DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string @ lpPuffer, string lcBufferlen
rcEricKey = EricGetPublicKey(@lcPara, @lpPuffer, lcBufferlen)

DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string lpPuffer, string @ lcBufferlen
rcEricKey = EricGetPublicKey(@lcPara, lpPuffer, @lcBufferlen)

DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string lpPuffer, string lcBufferlen
rcEricKey = EricGetPublicKey(@lcPara, lpPuffer, lcBufferlen)

DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string @ lpPuffer, string @ lcBufferlen
rcEricKey = EricGetPublicKey(lcPara, @lpPuffer, @lcBufferlen)

DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string @ lpPuffer, string lcBufferlen
rcEricKey = EricGetPublicKey(lcPara, @lpPuffer, lcBufferlen)

DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string lpPuffer, string @ lcBufferlen
rcEricKey = EricGetPublicKey(lcPara, lpPuffer, @lcBufferlen)

DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string lpPuffer, string lcBufferlen
rcEricKey = EricGetPublicKey(lcPara, lpPuffer, lcBufferlen)

DECLARE integer EricCloseHandleToCertificate IN ericapi.dll long hToken
rcZertClose = EricCloseHandleToCertificate(hToken) && -> in Ordnung

CLEAR DLLS
---------------------------------------------------------------------------------------------
*EricParameter.prg
DEFINE CLASS EricKey as struct
pHandle = 0
cPIN = ""
cMembers = ""

PROCEDURE GetCMembers
TEXT TO this.cMembers NOSHOW FLAGS 1 PRETEXT 15
HANDLE l:pHandle,
HANDLE c6:cPIN
ENDTEXT
RETURN DoDefault()
ENDPROC
ENDDEFINE

DEFINE CLASS Eric_size_t as struct
bufferlen = 0
cMembers = ""

PROCEDURE getCMembers
TEXT TO this.cMembers NOSHOW FLAGS 1 PRETEXT 15
long l:bufferlen
ENDTEXT
RETURN DoDefault()
ENDPROC
ENDDEFINE

Beste Grüße
Volkmar






Volkmar Höhn   22.02.2012 12:00
Christof Wollenhaupt  13.03.2012 11:14
Volkmar Höhn  13.03.2012 18:35
Volkmar Höhn  21.05.2012 12:04
Bernhard Sander  21.05.2012 14:16
Volkmar Höhn  22.05.2012 12:10
Bernhard Sander  22.05.2012 13:46
Volkmar Höhn  27.05.2012 12:30
Bernhard Sander  29.05.2012 12:22
Volkmar Höhn  29.05.2012 19:44
Bernhard Sander  30.05.2012 12:36
Volkmar Höhn  04.06.2012 17:01
Bernhard Sander  04.06.2012 19:06
Volkmar Höhn  12.06.2012 21:59
Bernhard Sander  13.06.2012 10:16
Volkmar Höhn  26.06.2012 15:18
Bernhard Sander  27.06.2012 11:04
Volkmar Höhn  11.07.2012 21:37
  
zurück zum Forum