我在修改一些使用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