Ich habe Probleme beim Debuggen eines bestimmten Papierkorbproblems. Ich habe den Eindruck, dass VB6 die Druckerinformationen beim Debuggen nicht aktualisiert/aktualisiert. Ich habe es auf ein einfaches Stück Code beschränkt.Druckerinformationen werden beim Debuggen nicht aktualisiert
Private Sub Form_Load()
Dim prt As Printer
For Each prt In Printers
AddOutput prt.DeviceName
AddOutput "Paperbin: " & prt.PaperBin
Next
End Sub
Dieser Code durchläuft alle Drucker und zeigt deren Namen und Papierkorbwerte an. Die Prozedur AddOutput
fügt sie einem Textfeld hinzu. Wenn ich diesen Code von der VB6-IDE aus starte, ist der Wert für den Papierkorb für alle Drucker gleich. Wenn ich diesen Code zu einer ausführbaren Datei kompiliere und sie dann ausführe, zeigt die Ausgabe die korrekten Papierkorbwerte an. Ich fand heraus, dass, wenn ich eine Uhr dem prt
Objekt hinzufüge und die Information zusammenbringe, dass der Papierkorb korrekt aktualisiert wird. Von diesem Moment an verwendet die VB6 IDE diesen spezifischen Papierkorbwert für alle Drucker.
Warum gibt die VB6 IDE den falschen Wert, während die kompilierte Version den richtigen Wert gibt?
ich getestet habe diesen Code auf Windows 7.
aktualisieren
Looping durch den Index keinen Unterschied machen, so mit For i = 0 to Printers.Count -1
hat das gleiche Problem wie For each prt in Printers
verwenden.
Andere Eigenschaften sind ebenfalls betroffen. Eigenschaften wie PrintQuality
, PaperSize
und Duplex
werden nicht aktualisiert. Die Eigenschaften DeviceName
und Port
werden korrekt aktualisiert.
Es ist schon lange her, dass ich mit VB6 beschäftigt bin, also kann ich vielleicht nicht viel helfen, aber Sie haben mich neugierig gemacht: Werden die anderen Eigenschaften des Printer-Objekts aktualisiert, wenn sie innerhalb der IDE ausgeführt werden? Funktioniert es anders, wenn Sie eine Schleife nach Index durchführen anstatt eine For Each-Datei zu verwenden? –
Aktualisiert 'DeviceName' korrekt? –
Der 'DeviceName' wird korrekt aktualisiert. Looping nach Index macht keinen Unterschied. Andere Eigenschaften werden ebenfalls bewirkt. Ich habe nicht alle getestet, aber 'PaperSize',' Duplex' und 'PrintQuality' haben das gleiche Problem. – Martin