deutschsprachige FoxPro User Group
Forum View
Home
  
  Eric-Funktion mit Strukturreferenz- #15861 in section [734033]
Sec: (51) MS-Visual FoxPro 9.0
Von: Bernhard Sander
An: Volkmar Höhn
Am/Um: 13.06.2012 10:16:54 gelesen

Hallo Volkmar,


 

Nach vielen weiteren Variationen meines Experimentierens habe ich leider immer noch keine Lösung.
Ich vermute jetzt, dass mein strukturierter Parameter die Ursache ist.

Ich habe folgende Klassendefinition:
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

Ich bin mir nicht sicher, ob die TEXT TO ... ENDTEXT-Angaben richtig sind.



Sieht m.E. ok aus.


 

Ebenso unsicher bin ich mir, was den strukturierten Parameter nBufferlen angeht.
Kann ich diesen Parameter auch schon in der GetCMembers-Prozedur unterbringen
(Handle l:nBufferlen)?



Dafür müsstest Du eine eigene Struct-Klasse anlegen (im VB-Beispiel aus Deinem ersten Post wird hier auch ein eigener Typ deklariert) und nicht als zusätzliches Element im EricKey unterbringen. Etwa so:

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

Schließlich:

lcPara = ... && wie gehabt
loBufferlen = CREATEOBJECT("Eric_size_t")
loBufferlen.bufferlen = 20000
lcBufferlen = loBufferlen.GetString()
lpBuffer = Replicate(chr(0), loBufferlen.bufferlen)
rcEricKey = EricGetPublicKey(lcPara, @lpPuffer, @lcBufferlen)

Gruß
Bernhard Sander




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