微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Delphi 打印使用文件重写功能

如何解决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()
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。