| |
| |
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
|
|
|
|