把離線列印翻成英文去 Google,找到的都是確認印表機、標籤機狀態的討論,確定標籤機當下是正常,不應該需要確認狀態,後來在測試環境中指定標籤機,總算是拋出正確錯誤訊息,馬上就找到答案,Orz
之前指定標籤機是下列寫法,利用 laPrinters(li, 1) 來進行設定
APRINTERS(laPrinters)
IF VARTYPE(laPrinters) <> "U"
FOR li = 1 TO ALEN(laPrinters, 1)
IF ATC(TargetPrinter , laPrinters(li, 1)) <> 0
SET PRINTER TO NAME laPrinters(li, 1)
ENDIF
ENDFOR
ENDIF
因為有些因素,所以改寫為下述寫法,先把印表機名稱塞進一個變數,再利用該變數來指定印表機,然後就是一上線就掛的悲劇,QQAPRINTERS(laPrinters)
IF VARTYPE(laPrinters) <> "U"
FOR li = 1 TO ALEN(laPrinters, 1)
lcPrintName = laPrinters(li, 1)
IF ATC(TargetPrinter , lcPrintName) <> 0
SET PRINTER TO NAME lcPrintName
ENDIF
ENDFOR
ENDIF
必須利用括號 [name expression ()] 包住變數,才能正常指定SET PRINTER TO NAME (lcPrintName)
- 延伸閱讀
- [VFP] 載入印表機驅動程式時發生錯誤