[Migrated content. Thread originally posted on 06 February 2011]
When subprogram running with runtime 9.0.0 and compiled with -x -Cr -Di -Ga -Za -Zl -Z80 there is no problem.When compiled with -x -Cr -Di -Ga -Za -Zl there is coming a Memory acces violation on the statement Call "GetDeviceCaps", see the source lines below.
How can tell me what I have to change.
ACCEPT SYSTEM-INFORMATION FROM SYSTEM-INFO.
IF OS-IS-WIN-NT
MOVE "C:\\WINDOWS\\SYSTEM32\\" TO MAP-SYSTEEM
ELSE
MOVE "C:\\WINDOWS\\SYSTEM\\" TO MAP-SYSTEEM
END-IF.
MOVE SPACES TO MAP-SYSTEEM-NAAM-DLL.
STRING MAP-SYSTEEM DELIMITED BY SPACE
"GDI32.DLL" DELIMITED BY SIZE
INTO MAP-SYSTEEM-NAAM-DLL.
SET ENVIRONMENT "DLL-CONVENTION" TO 1.
CALL MAP-SYSTEEM-NAAM-DLL
ON EXCEPTION GO TO R4117
END-CALL.
SET HORZSIZE TO TRUE.
CALL "GetDeviceCaps" USING
BY VALUE H-ACU-SPOOLER-DC
BY VALUE FUNCTIONNUMBER
GIVING WS-HORZSIZE.
SET VERTSIZE TO TRUE.
CALL "GetDeviceCaps" USING
BY VALUE H-ACU-SPOOLER-DC
BY VALUE FUNCTIONNUMBER
GIVING WS-VERTSIZE.
77 H-ACU-SPOOLER-DC PIC 9(9) COMP-5 EXTERNAL.
77 MAP-SYSTEEM PIC X(20).
77 MAP-SYSTEEM-NAAM-DLL PIC X(35).
77 FUNCTIONNUMBER PIC 9(9) COMP-5.
* Horizontal size in millimeters
88 HORZSIZE VALUE 04.
* Vertical size in millimeters
88 VERTSIZE VALUE 06.
* Horizontal size in pixels
88 LOGPIXELSX VALUE 88.
* Logical pixels/inch Y wise
88 LOGPIXELSY VALUE 90.
* Physical width in device units
88 PHYSICALWIDTH VALUE 110.
* Physical height in device units
88 PHYSICALHEIGHT VALUE 111.
* Physical printable area x wise
88 PHYSICALOFFSETX VALUE 112.
* Physical printable area y wise
88 PHYSICALOFFSETY VALUE 113.
77 WS-HORZSIZE PIC 9(9) COMP-5.
77 WS-VERTSIZE PIC 9(9) COMP-5.



