我在修改一些使用OpenPrinter
代替OpenPrinter2
的代码。它包含一个参数PPRINTER_OPTIONS
这在德尔福封装为TPrinterOptions
,像这样定义的:使用PRINTER_OPTION_NO_CACHE正确实施OpenPrinter2
_PRINTER_OPTIONSW = record
cbSize: Cardinal;
dwFlags: DWORD;
end;
我无法理解如何使用这个结构封装标志PRINTER_OPTION_NO_CACHE
,我甚至不能找到这在任何现有的VCL/RTL中都是不变的。
var
PD: TPrinterDefaults;
PO: TPrinterOptions;
begin
PO.dwFlags:= ???
if OpenPrinter2(ADevice, @FPrinterHandle, @PD, @PO) then begin
...
我没有多少运气寻找Delphi实现无论是OpenPrinter2
或TPrinterOptions
的。我如何使PRINTER_OPTION_NO_CACHE
工作?
编辑
这是正确的吗?
const
PRINTER_OPTION_NO_CACHE = 0;
PRINTER_OPTION_CACHE = 1;
PRINTER_OPTION_CLIENT_CHANGE = 2;
...
PO.dwFlags:= PRINTER_OPTION_NO_CACHE;
相反['this'](http://pastebin.com/sjt0G2f2)。 – TLama 2014-09-06 02:22:39
@TLama啊所以这就是你如何封装Winapi枚举,呃? – 2014-09-06 02:23:33
'cbSize'字段怎么样? – 2014-09-06 02:26:21