[progress Communities] [progress Openedge Abl] Forum Post: Byte Array To Memptr

  • Thread starter Thread starter OctavioOlguin
  • Start date Start date
Status
Not open for further replies.
O

OctavioOlguin

Guest
I had this procedure: PROCEDURE ByteArrayToMemptr : DEFINE INPUT PARAMETER poBytes AS "System.Byte[]":U NO-UNDO. DEFINE OUTPUT PARAMETER myMemptr AS MEMPTR NO-UNDO. DEFINE VARIABLE oIntPointer AS System.IntPtr NO-UNDO . MESSAGE 1 " : " poBytes:Length . SET-SIZE (myMemptr) = poBytes:Length . MESSAGE 2. oIntPointer = NEW System.IntPtr (GET-POINTER-VALUE (myMemptr)). MESSAGE 3. System.Runtime.InteropServices.Marshal:Copy (poBytes, 0, oIntPointer, poBytes:Length). MESSAGE 4. DELETE OBJECT oIntPointer. END PROCEDURE. But since upgraded to 11.7, it won't work. The message were inserted to debug. when run, poBytes:Length is 512, and message 3 & 4 never get shown. The error is "System.OverflowException: value too big or to little for Int32

Continue reading...
 
Status
Not open for further replies.
Back
Top