Hello,
How do I implement StartDocPrinter() function in Clarion?
With WinApi application I can get prototypes and structure for all necessary Windows print API functions.
For DOCINFO there is a:
DOCINFO GROUP,TYPE
cbSize SHORT
lpszDocName LONG!*LPCSTR
lpszOutput LONG!*LPCSTR
lpszDataType LONG!*LPCSTR
fwType DWORD
END
I changed that to:
DOCINFO GROUP,TYPE
lpszDocName LONG!*LPCSTR
lpszOutput LONG!*LPCSTR
lpszDataType LONG!*LPCSTR
END
So it is structure described for DOC_INFO_1.
WinApi application says definition for StartDocPrinter() is StartDocPrinterA(HANDLE,DWORD,*BYTE),DWORD,PASCAL. If I add NAME('StartDocPrinter') I get error “Unresolved external StartDocPrinter…”.
Last parameter is acctualy a DOCINFO as LPBYTE in C++.
For DOCINFO fields i use ADDRESS(), how do I send parameter *BYTE which is acctualy LPBYTE in C++ and I can use (LPSTR)&DocInfo to send it to the StartDocPrint().
Do I need to change type of the parameters in StartDocPrinter()?
I get controled error when I use StartDocPrinterA(HANDLE,DWORD,*LONG),DWORD,PASCAL, where last parameter is local LONG variable and value is ADDRESS(myDOCINFO). Everthing else is crash and GPF window.
I tried StartDocPrinterA(HANDLE,DWORD,*DOCINFO),DWORD,PASCAL, it did not helped.