Delphi 打印使用文件重写功能

问题描述

在我的应用程序中,所有打印机都使用 printer.printers 命令列出。这仅列出打印机名称。选择后保存在数据库中。

稍后,使用 AssignFile 函数将此打印机名称分配给文本文件。 并使用 Rewrite 函数完成打印。

如果我在数据库中将选定的打印机另存为 \\PCname\printer name,然后将其与 Rewrite 函数一起使用,则它可以工作。

但是如果我们只在数据库中保存打印机名称,那么打印就不会发生。 是否需要保存 \\PCname\printer name 路径?或者有没有其他解决办法。

解决方法

除了使用 Pascal 文件访问函数进行打印之外,另一种方法是使用 Windows API 进行后台处理。

protocol MyDelegate {
    func funcA()
    func funcB()
}

class BaseViewController<Delegate> where Delegate: AnyObject {
    weak var delegate: Delegate?

    init(delegate: Delegate) {
        self.delegate = delegate
        super.init(...)
        //keeping OPs code as is
    }
}

class SomeOtherDelegateClass: MyDelegate {
    func funcA() {
        //some code here
    }

    func funcB() {
        //some code here
    }
}

class SomeViewController: BaseViewController<SomeOtherDelegateClass> {
    func doSomething() {
        self.delegate?.funcA()
    }
}

protocol MyDelegate2 {
    func funcABCD()
}

class SomeOtherDelegateClass2: MyDelegate2 {
    func funcABCD() {
        //some code here
    }
}


class SomeViewController2: BaseViewController<SomeOtherDelegateClass2> {
    func doSomething() {
        self.delegate?.funcABCD()
    }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...