Betriebssystemfehler Operation set aber nur unter Vista.
Moderator: Moderatoren
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Betriebssystemfehler Operation set aber nur unter Vista.
Es ist schon eine weile her, da hab ich mir dieses Hausverwaltungsprogramm geschrieben. Die letzte Änderung erfolgte im Jahr 2000. Nun habe ich neue PC's erstanden und das Betriebssystem von Windows 2000 auf Windows Vista umgestellt.
Das Programm läst sich auch ganz normal Starten bringt mir aber einen Betriebssystem Fehler bei der Operation: set
Der genaue Befehl lautet Set Printer On.
Ist mir schon klar, dass das eine sehr alte methode ist, aber ich hab eigentlich keinen Bock die Druckausgaben neu zu Programmieren.
Kann mir jemand Helfen?
Das Programm läst sich auch ganz normal Starten bringt mir aber einen Betriebssystem Fehler bei der Operation: set
Der genaue Befehl lautet Set Printer On.
Ist mir schon klar, dass das eine sehr alte methode ist, aber ich hab eigentlich keinen Bock die Druckausgaben neu zu Programmieren.
Kann mir jemand Helfen?
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
das hängt sehr vom Drucker ab.
Mit SET PRINTER TO OBJECT kannst du jedes Windowsdruckerobjekt ansprechen.
Allerdings muss der Drucker DOS Print prinzipiell unterstützen (PCLx, ESC/x ...)
Unter Win2000 hast du damals bei der Druckerinstallation bestimmt angegeben
"JA, Drucker auch für DOS Druck benutzen" (oder so ähnlich ...)
Ob das unter Vista noch unterstützt wird
Ich habe mir vor kurzem an einem Netzwerkdrucker (NET USE LPT2 ..., set printer to LPT2)
die Zähne ausgebissen. Er hat zwar einzelne Seiten gedruckt, danach aber oft minutenlang
gar nichts mehr angenommen. UNTRAGBAR -> jetzt stelle ich alle alten Ausdrucke auf meine
Druckerklasse (HB_PrintX) um
das hängt sehr vom Drucker ab.
Mit SET PRINTER TO OBJECT kannst du jedes Windowsdruckerobjekt ansprechen.
Allerdings muss der Drucker DOS Print prinzipiell unterstützen (PCLx, ESC/x ...)
Unter Win2000 hast du damals bei der Druckerinstallation bestimmt angegeben
"JA, Drucker auch für DOS Druck benutzen" (oder so ähnlich ...)
Ob das unter Vista noch unterstützt wird
Ich habe mir vor kurzem an einem Netzwerkdrucker (NET USE LPT2 ..., set printer to LPT2)
die Zähne ausgebissen. Er hat zwar einzelne Seiten gedruckt, danach aber oft minutenlang
gar nichts mehr angenommen. UNTRAGBAR -> jetzt stelle ich alle alten Ausdrucke auf meine
Druckerklasse (HB_PrintX) um
Gruß
Hubert
Hubert
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi Josef,
ich vermute du wirst um die neuprogrammierung nicht herumkommen, wenn Vista dieses nicht mehr unterstützt. Ich mache das mit Xbpprintdialog() - Dabei kannst du die Drucker auswählen - oder XbpPrinter() hier wird der Standarddrucker gezogen.
ich vermute du wirst um die neuprogrammierung nicht herumkommen, wenn Vista dieses nicht mehr unterstützt. Ich mache das mit Xbpprintdialog() - Dabei kannst du die Drucker auswählen - oder XbpPrinter() hier wird der Standarddrucker gezogen.
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Funktionieren unter xbpprintdialog() die @ z,s say "xxxxxxxxxxxxxxxx" Befehle? Das gesamte Programm wurde ursprünglich von Clipper portiert.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
NEIN, da muss man mit den GRA Funktionen arbeiten und das ganze ist vom Rand abhängig.
Daher habe ich mir meine Druckerklasse geschrieben, die auch unter älteren Versionen schon
eine Druckerauswahl und Preview anbietet, aber nicht mit XbpPrintDialog() kompatibel ist.
Suche ruhig nach HBPrinter hier in der Wissensdatenbank oder auf meiner Homepage
HBPrinterX - Hauptseite: http://www.xbaseforum.de/viewtopic.php? ... =hbprinter
HBPrinterX - Hinweise: http://www.xbaseforum.de/viewtopic.php?f=25&t=1174
Meine Homepage kann man im Profil sehen.
Die Klasse kostet nix und hat eine Menge Vorteile. Der Größte ist, dass 0,0 links oben ist
und die Positionsangaben in 1/10 mm vom Rand gemessen werden. In die Hardwareränder
kann man zwar dennoch nicht drucken, aber der Ausdruck ändert sich im bedruckbaren Teil
nicht, beim Umschalten auf einen anderen Drucker mit mehr Rand.
Ansonsten ist die Ausrichtung ein Kinderspiel:
oHBP:PrintText(nPosX,nPosY,cTxt,cAusrichtung) // links, zentriert, rechtsbündig und ...
oHBP:PrintMemo(nPosX,nPosY,cTxt,cAusrichtung) // kann mehrzeilig auch Blocksatz drucken.
NEIN, da muss man mit den GRA Funktionen arbeiten und das ganze ist vom Rand abhängig.
Daher habe ich mir meine Druckerklasse geschrieben, die auch unter älteren Versionen schon
eine Druckerauswahl und Preview anbietet, aber nicht mit XbpPrintDialog() kompatibel ist.
Suche ruhig nach HBPrinter hier in der Wissensdatenbank oder auf meiner Homepage
HBPrinterX - Hauptseite: http://www.xbaseforum.de/viewtopic.php? ... =hbprinter
HBPrinterX - Hinweise: http://www.xbaseforum.de/viewtopic.php?f=25&t=1174
Meine Homepage kann man im Profil sehen.
Die Klasse kostet nix und hat eine Menge Vorteile. Der Größte ist, dass 0,0 links oben ist
und die Positionsangaben in 1/10 mm vom Rand gemessen werden. In die Hardwareränder
kann man zwar dennoch nicht drucken, aber der Ausdruck ändert sich im bedruckbaren Teil
nicht, beim Umschalten auf einen anderen Drucker mit mehr Rand.
Ansonsten ist die Ausrichtung ein Kinderspiel:
oHBP:PrintText(nPosX,nPosY,cTxt,cAusrichtung) // links, zentriert, rechtsbündig und ...
oHBP:PrintMemo(nPosX,nPosY,cTxt,cAusrichtung) // kann mehrzeilig auch Blocksatz drucken.
Gruß
Hubert
Hubert
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Das ist eine riesen Sch........
Das sind so an die 100 verschiedene Ausdrucke!!!!!!!!!!!!!!!!!
Vor ich damit anfange werd ich die Leute von Microsoft "Windof" noch etwas Quälen.
Und wie seht ihr das mit dem Zusatztool List & Label? Sollte bei dieser Menge wohl etwas schneller gehen?
Das sind so an die 100 verschiedene Ausdrucke!!!!!!!!!!!!!!!!!
Vor ich damit anfange werd ich die Leute von Microsoft "Windof" noch etwas Quälen.
Und wie seht ihr das mit dem Zusatztool List & Label? Sollte bei dieser Menge wohl etwas schneller gehen?
-
- Rekursionen-Architekt
- Beiträge: 193
- Registriert: Fr, 09. Jun 2006 7:52
- Wohnort: Nähe Sömmerda
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hallo Josef,
Allerdings sind immer noch nicht alle Formulare umgestellt, da ich das jetzt immer erst mache, wenn eine Layout-Änderung notwendig wird.
Ich stehe jedoch nicht unter Zeitdruck, da meine alten Layouts grundsätzlich die Grafikfunktionen verwenden.
Herzliche Grüße
Gerd
Das kann ich nur empfehlen, wird haben vor ca. 3 Jahren begonnen unserer Ausdrucke auf L&L umzustellen. Der Enwurf neuer Formulare geht sehr zügig vonstatten, wenn erst mal das Layout mental klar ist.Und wie seht ihr das mit dem Zusatztool List & Label? Sollte bei dieser Menge wohl etwas schneller gehen?
Allerdings sind immer noch nicht alle Formulare umgestellt, da ich das jetzt immer erst mache, wenn eine Layout-Änderung notwendig wird.
Ich stehe jedoch nicht unter Zeitdruck, da meine alten Layouts grundsätzlich die Grafikfunktionen verwenden.
Herzliche Grüße
Gerd
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi Josef
ich teile meine Listenausdrucke. Bei den Etiketten z.B. drucke ich mit GraStringAT() aus. Bei den anderen erstelle ich Dateien als Vorlage im Format RTF. Hier gibt es nur Überschriften und Platzhalter. Ich lese die RTF-Datei ein und ersetze die Platzhalter mit strtran . Dann wird die Datei gespeichert und kann gedruckt werden. Dies mache ich mit ActiveX - Word im Hintergrund starten
zum Drucker geben Word- schließen.
Das mit der RTF-Datei hat den Vorteil, daß der Anwender sein Layout Schriftart+ Größe selbst gestalten kann. Aber die meisten lassen es so wie es ist.
ich teile meine Listenausdrucke. Bei den Etiketten z.B. drucke ich mit GraStringAT() aus. Bei den anderen erstelle ich Dateien als Vorlage im Format RTF. Hier gibt es nur Überschriften und Platzhalter. Ich lese die RTF-Datei ein und ersetze die Platzhalter mit strtran . Dann wird die Datei gespeichert und kann gedruckt werden. Dies mache ich mit ActiveX - Word im Hintergrund starten
zum Drucker geben Word- schließen.
Das mit der RTF-Datei hat den Vorteil, daß der Anwender sein Layout Schriftart+ Größe selbst gestalten kann. Aber die meisten lassen es so wie es ist.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
was besser ist hängt natürlich von eigenen Vorlieben, aber auch von den Anforderungen ab.
Ich persönlich nutze meine Druckerklasse, da ich damit hochkomplizierte Ausdrucke in Verbindung
mit direktem Datenzugriff realisieren kann UND weil ich keine Lust habe List&Label zu lernen
Außerdem kann im Programm nichts mehr schief gehen und gerade bei Citrix-/Terminalserver-
Programmen ist es einfacher eine EXE zu haben, die alles erledigt.
Allerdings ist List&Label (laut Toms Beschreibung) heute so mächtig (Druckausgabe direkt als PDF,
Grafikdatei oder HTML, alle Barcodes etc.) dass es für normale Arbeiten (erst Daten suchen, dann
drucken lassen ...) sicher leistungsfähiger ist. Ob ich damit schneller wäre ... aber lernen muss man
alles.
Die RTF Version von Rolf ist sehr flexibel und der Anwender kann Text ändern.
Das wäre bei meinen Ausdrucken im Büro gar nicht gewünscht ...
Bei der Menge von Umsetzungen solltest du aber wahrlich vorher gut überlegen und auch probieren
(Testversionen) was für dich besser ist.
Ich bin gerade dabei alle Listen eines meiner ältesten Programme auf meine Druckerklasse umzustellen,
wobei ich leider nicht immer aktuelle Vorlagen habe und meinen alten "Clipper" Code direkt lesen muss ...
Ich brauche etwa 2 Stunden pro Liste, hauptsächlich weil mit dem Druck einige (jeweils verschiedene)
Aktionen mitlaufen müssen, die auch angepasst werden müssen.
Ich habe mir in dem Zusammenhang schon überlegt, die Druckerklasse um:
:say(nZei,nCol,xData,nCPI,nLPI)
zu erweitern, da ich eine alte Textverarbeitung integriert hatte, die die Randwerte in nZeichen
definiert und ich keine Lust habe das jeweils im Editor umzurechnen
Ich könnte natürlich das Ganze auch auslagern, aber die Anwender wollen die alte behalten
was besser ist hängt natürlich von eigenen Vorlieben, aber auch von den Anforderungen ab.
Ich persönlich nutze meine Druckerklasse, da ich damit hochkomplizierte Ausdrucke in Verbindung
mit direktem Datenzugriff realisieren kann UND weil ich keine Lust habe List&Label zu lernen
Außerdem kann im Programm nichts mehr schief gehen und gerade bei Citrix-/Terminalserver-
Programmen ist es einfacher eine EXE zu haben, die alles erledigt.
Allerdings ist List&Label (laut Toms Beschreibung) heute so mächtig (Druckausgabe direkt als PDF,
Grafikdatei oder HTML, alle Barcodes etc.) dass es für normale Arbeiten (erst Daten suchen, dann
drucken lassen ...) sicher leistungsfähiger ist. Ob ich damit schneller wäre ... aber lernen muss man
alles.
Die RTF Version von Rolf ist sehr flexibel und der Anwender kann Text ändern.
Das wäre bei meinen Ausdrucken im Büro gar nicht gewünscht ...
Bei der Menge von Umsetzungen solltest du aber wahrlich vorher gut überlegen und auch probieren
(Testversionen) was für dich besser ist.
Ich bin gerade dabei alle Listen eines meiner ältesten Programme auf meine Druckerklasse umzustellen,
wobei ich leider nicht immer aktuelle Vorlagen habe und meinen alten "Clipper" Code direkt lesen muss ...
Ich brauche etwa 2 Stunden pro Liste, hauptsächlich weil mit dem Druck einige (jeweils verschiedene)
Aktionen mitlaufen müssen, die auch angepasst werden müssen.
Ich habe mir in dem Zusammenhang schon überlegt, die Druckerklasse um:
:say(nZei,nCol,xData,nCPI,nLPI)
zu erweitern, da ich eine alte Textverarbeitung integriert hatte, die die Randwerte in nZeichen
definiert und ich keine Lust habe das jeweils im Editor umzurechnen
Ich könnte natürlich das Ganze auch auslagern, aber die Anwender wollen die alte behalten
Gruß
Hubert
Hubert
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Ich habe mir in dem Zusammenhang schon überlegt, die Druckerklasse um:
:say(nZei,nCol,xData,nCPI,nLPI) zu erweitern.
Das würde die Sache natürlich etwas leichter machen.
Ich denke ich werde folgendermaßen Vorgehen:
1. Der Alte PC mit Windows 2000 muss vorläufig mal stehen bleiben.
2. Ich werde Versuchen dem Windof Vista den Befehl Set Printer on usw. beizubringen. Irgend ein Kompatibilitätsmodus wird wohl Funktionieren.
3. Sollte Punkt 2 nicht Funktionieren werd ich mich wohl mit XBase++ wieder etwas auseinander setzen müssen. Meine XBase++ version ist aus dem Jahr 1999. Meine letzte Programmänderung am Hausverwaltungsprogramm aus dem Jahr 2002. Ich weis nicht mehr genau wie das Kompilieren funktioniert.
4. Einige Tests Durchführen mit verschiedenen Tools allenfals wenn notwendig auf ein neueres XBase++ Updaten usw.
Meine Freude hält sich in Grenzen. Aber vorerst mal vielen Dank für eure Hilfe.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Betriebssystemfehler Operation set aber nur unter Vista.
bitte poste doch mal den ganzen Anfang, den das kann NICHT sein.Josef Pittl hat geschrieben:Das Programm läst sich auch ganz normal Starten bringt mir aber einen Betriebssystem Fehler bei der Operation: set
Der genaue Befehl lautet Set Printer On.
Ich habe kein VISTA sondern Win7 und meine Hybrid Druck Routinen funktionieren noch genau so wie vorher.
Nachtrag: klar das man überhaupt vorher den Drucker dazu bewegen musste aus DOS/CMD
zu drucken. Der NEC P60 wurde von Win7 (lates RC 6.1.7100) erkannt. Dann den Spooler
abschalten (direkt zum Drucker) und LPT1: zuordnen.
im BIOS überprüfen auf was LPT1: steht (3F8 ?) und auf "normal", also kein EPP usw.
wenn dann : COPY myTEXT.TXT LPT1: funktioniert (warten ... ca. 90sec) und mit
Code: Alles auswählen
echo >prn
... dann geht auch Cli*pper und genauso Xbase++ Hybrid.
Zuletzt geändert von AUGE_OHR am Di, 01. Sep 2009 22:21, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
wenn der Drucker wirklich an LPT1 angeschlossen ist, muss man den für DOS Programme freischalten.
Oder man gibt ihn als Netzwerkdrucker frei und ordnet ihn sich selbst unter z.B. lpt2 wieder zu.
Dann
SET PRINTER TO LPT1 vor allen anderen Befehlen setzen und
SET PRINTER TO am Ende ...
eventuell helfen auch solche Programme ?
http://dos-print-vista.qarchive.org/
wenn der Drucker wirklich an LPT1 angeschlossen ist, muss man den für DOS Programme freischalten.
Oder man gibt ihn als Netzwerkdrucker frei und ordnet ihn sich selbst unter z.B. lpt2 wieder zu.
Dann
SET PRINTER TO LPT1 vor allen anderen Befehlen setzen und
SET PRINTER TO am Ende ...
eventuell helfen auch solche Programme ?
http://dos-print-vista.qarchive.org/
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Betriebssystemfehler Operation set aber nur unter Vista.
eine (wahre) Win7 Geschichte :
es war einmal ein Kyocera FS-1010 Drucker der treu seine Jahre an LPT1: verbracht hat. An seinem USB Anschluss
war auch des öfteren ein Notebook angeschlossen und "freigegeben" stand er jedem Netzwerk Anwender
stets zu Diensten.
Nun ergab sich eines Tages das der "böse" Administrator auf die Idee kam "ihn" an einem Win7 PC anzuschliessen,
wobei Win7 RC 6.1.7100 ihn noch nicht mal "erkannte". Das erzürnte den Administrator so sehr das er sich ins Internet begab
und seinen Zauberspruch "oh google, goole auf dem Bildschirm, sage mir wo finde ich einen Treiber" in die Suchmaschine eingab.
Das Orakel brauchte nicht lange um mit einer gewaltigen Liste von Treffern zum Administrator zurück zu kehren
und sagte ihm "da hast du die Liste, viel Spass"
Der Administrator ging zufrieden mit der Liste zurück zum Drucker und murmelte so vor sich hin : Treiber, Treiber ...
Schon bald schien sich der Erfolg einzustellen, den er fand die Adresse der Herstellers ... aber hat der auch einen Win7 Treiber ?
Das Modell wurde "erkannt" ... aber kein Win7 Treiber wie zu befürchten war ... was nun ?
Aus lauter Verzweiflung entschied sich der Administrator "alles down-zu-loaden" was ihm zu dem Modell angeboten wurde.
Nun gingen die Qualen des Kyocera FS-1010 erst richtig los, den der Administrator traktierte ihn mit allen Treibern,
auch wenn die gar nicht für das OS() gedacht waren ...
als nun der Drucker tatsächlich auf die Auswahl "Kyocera FS-1010" reagierte machte der Administrator Luftsprünge ...
zu früh gefreut wie sich später heraus stellte, den der Drucker fing Seite um Seite an Hieroglyphen auszuspucken.
Dem Administrator blieb nichts anderes übrig als dem Drucker den Strom abzustellen um damit den Spooler zu leeren.
Natürlich blieb bei dieser Prozedur nicht aus das dann ein Papierstau erfolgte sodass man den Drucker "zerlegen" musste.
Nachdem der Administrator nun erfolglos alle Treiber ausprobiert hatte wollte er schon aufgeben... da viel ihm der USB Anschluss ein.
Man könnte ja noch einen allerletzten Versuch starten mit USB ... also alles wieder "de-installiert" und reboot.
Das Parallele Port Kabel wurde vorher entfernt sodass die USB Buchse frei lag. Der Administrator nahm nun sein USB Kabel
und verband den Drucker damit. Der "Kyocera FS-1010" heulte kurz auf (Lüfter) und Win7 begann zu arbeiten mit der Hardware Erkennung.
Schon nach kurzer Zeit tauchte ein "neues" Gerät auf, aber es hiess auch wie vorher nur das die Verbindung nun auf USB stand.
Wagemutig clickte der Administrator wieder auf den Button "Testseite drucken" in der Erwartung das ihm die Druckseiten
um die Ohren fliegen würden ... aber was ist das ? ein kurzes aufheulen (Lüfter) und schon kommt die Testseite raus ?!
und zwar 1 Seite ! so wie es ja sein sollte =D> ... naja fast.
hm ... dachte sich der Administrator "es geht also doch" aber ein wenig fehlt da noch, den er soll ja wieder auf LPT1: laufen.
soll man es "riskieren" eine funktionsfähige Lösung nochmal zu verändern ?
grüble ... was soll´s "alles oder nichts" also machen wir dem Schicksal ein Angebot.
also USB abgemeldet(!) und dann den Port von USB auf LPT1: geändert und reboot. Nach dem reboot tut sich noch nichts.
Jetzt an LPT1: das Kabel wieder angeschlossen ; Win7 reagiert augenblicklich und fängt mit der Hardware Erkennung an,
um kurze Zeit später ein Duplikat vom "Kyocera FS-1010" anzuzeigen ? Das Duplikat ist noch nicht "zugeordnet" ... hm
Also denkt sich der Administrator lass uns doch mal sehen welcher Port beim aktiven Drucker angezeigt wird.
Er steht auf LPT1: so wie er sollte, also wagen wir es doch und clickte "Testseite drucken".
Endlich konnte der Administrator sein Werk vollenden, den der "Kyocera FS-1010" druckte nun brav an LPT1:
Obwohl der Administrator nun den "Kyocera FS-1010" unter Win7 mit Druckaufträgen überhäufte
druckte der "Kyocera FS-1010" brav jeden Druckauftrag bis er vermelden könnte "Papier leer"
Epilog : nach dem reboot ist nun auch das Duplikat "verschwunden" und er steht immer noch auf LPT1:
es war einmal ein Kyocera FS-1010 Drucker der treu seine Jahre an LPT1: verbracht hat. An seinem USB Anschluss
war auch des öfteren ein Notebook angeschlossen und "freigegeben" stand er jedem Netzwerk Anwender
stets zu Diensten.
Nun ergab sich eines Tages das der "böse" Administrator auf die Idee kam "ihn" an einem Win7 PC anzuschliessen,
wobei Win7 RC 6.1.7100 ihn noch nicht mal "erkannte". Das erzürnte den Administrator so sehr das er sich ins Internet begab
und seinen Zauberspruch "oh google, goole auf dem Bildschirm, sage mir wo finde ich einen Treiber" in die Suchmaschine eingab.
Das Orakel brauchte nicht lange um mit einer gewaltigen Liste von Treffern zum Administrator zurück zu kehren
und sagte ihm "da hast du die Liste, viel Spass"
Der Administrator ging zufrieden mit der Liste zurück zum Drucker und murmelte so vor sich hin : Treiber, Treiber ...
Schon bald schien sich der Erfolg einzustellen, den er fand die Adresse der Herstellers ... aber hat der auch einen Win7 Treiber ?
Das Modell wurde "erkannt" ... aber kein Win7 Treiber wie zu befürchten war ... was nun ?
Aus lauter Verzweiflung entschied sich der Administrator "alles down-zu-loaden" was ihm zu dem Modell angeboten wurde.
Nun gingen die Qualen des Kyocera FS-1010 erst richtig los, den der Administrator traktierte ihn mit allen Treibern,
auch wenn die gar nicht für das OS() gedacht waren ...
als nun der Drucker tatsächlich auf die Auswahl "Kyocera FS-1010" reagierte machte der Administrator Luftsprünge ...
zu früh gefreut wie sich später heraus stellte, den der Drucker fing Seite um Seite an Hieroglyphen auszuspucken.
Dem Administrator blieb nichts anderes übrig als dem Drucker den Strom abzustellen um damit den Spooler zu leeren.
Natürlich blieb bei dieser Prozedur nicht aus das dann ein Papierstau erfolgte sodass man den Drucker "zerlegen" musste.
Nachdem der Administrator nun erfolglos alle Treiber ausprobiert hatte wollte er schon aufgeben... da viel ihm der USB Anschluss ein.
Man könnte ja noch einen allerletzten Versuch starten mit USB ... also alles wieder "de-installiert" und reboot.
Das Parallele Port Kabel wurde vorher entfernt sodass die USB Buchse frei lag. Der Administrator nahm nun sein USB Kabel
und verband den Drucker damit. Der "Kyocera FS-1010" heulte kurz auf (Lüfter) und Win7 begann zu arbeiten mit der Hardware Erkennung.
Schon nach kurzer Zeit tauchte ein "neues" Gerät auf, aber es hiess auch wie vorher nur das die Verbindung nun auf USB stand.
Wagemutig clickte der Administrator wieder auf den Button "Testseite drucken" in der Erwartung das ihm die Druckseiten
um die Ohren fliegen würden ... aber was ist das ? ein kurzes aufheulen (Lüfter) und schon kommt die Testseite raus ?!
und zwar 1 Seite ! so wie es ja sein sollte =D> ... naja fast.
hm ... dachte sich der Administrator "es geht also doch" aber ein wenig fehlt da noch, den er soll ja wieder auf LPT1: laufen.
soll man es "riskieren" eine funktionsfähige Lösung nochmal zu verändern ?
grüble ... was soll´s "alles oder nichts" also machen wir dem Schicksal ein Angebot.
also USB abgemeldet(!) und dann den Port von USB auf LPT1: geändert und reboot. Nach dem reboot tut sich noch nichts.
Jetzt an LPT1: das Kabel wieder angeschlossen ; Win7 reagiert augenblicklich und fängt mit der Hardware Erkennung an,
um kurze Zeit später ein Duplikat vom "Kyocera FS-1010" anzuzeigen ? Das Duplikat ist noch nicht "zugeordnet" ... hm
Also denkt sich der Administrator lass uns doch mal sehen welcher Port beim aktiven Drucker angezeigt wird.
Er steht auf LPT1: so wie er sollte, also wagen wir es doch und clickte "Testseite drucken".
Endlich konnte der Administrator sein Werk vollenden, den der "Kyocera FS-1010" druckte nun brav an LPT1:
Obwohl der Administrator nun den "Kyocera FS-1010" unter Win7 mit Druckaufträgen überhäufte
druckte der "Kyocera FS-1010" brav jeden Druckauftrag bis er vermelden könnte "Papier leer"
Epilog : nach dem reboot ist nun auch das Duplikat "verschwunden" und er steht immer noch auf LPT1:
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Kleiner Tipp an den Admin, statt den Laser auszuschalten, einfach das Papierfach entfernen ... wenn er dann Papier aus meldet, dann abschalten
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21200
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
das simpelste dürften sein, auf den Online Knopf zu drücken, dann geht der Drucker in den Offline Modus und man kann dann beruhigt weiter agieren.
das simpelste dürften sein, auf den Online Knopf zu drücken, dann geht der Drucker in den Offline Modus und man kann dann beruhigt weiter agieren.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Nun ich bin in der zwischenzeit selber etwas weiter gekommen.
Ist halt schon blöd wenn man versucht mit "Net Use LPT1: \\PC1\Netzdrucker /persistent:Yes" die LPT1 auf den Netzwekdrucker umzuleiten wenn man gar keine LPT1 schnittstelle hat!
Der einfachste Weg wäre nun dem PC eine LPT1 Vorzugaukeln und diese auf den Netzwerkdrucker umzuleiten? Geht das?
Sonst müste ich die neuen PC's eben mit Paralellen Ports nachrüsten.
Ich würde am Programm nur ganz ungerne was ändern.
Ist halt schon blöd wenn man versucht mit "Net Use LPT1: \\PC1\Netzdrucker /persistent:Yes" die LPT1 auf den Netzwekdrucker umzuleiten wenn man gar keine LPT1 schnittstelle hat!
Der einfachste Weg wäre nun dem PC eine LPT1 Vorzugaukeln und diese auf den Netzwerkdrucker umzuleiten? Geht das?
Sonst müste ich die neuen PC's eben mit Paralellen Ports nachrüsten.
Ich würde am Programm nur ganz ungerne was ändern.
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Ich habe da schon etwas gefunden.
http://www.printfil.com/german.htm
Ich bin gerade beim Testen. Der erste Druck hat mal Funktioniert aber mit den weiteren Drucken gibts Probleme.
Werde weiter berichten. Aber erst Nächste Woche, jetzt geh ich auf ein Wochenendbier oder auch Zwei.
http://www.printfil.com/german.htm
Ich bin gerade beim Testen. Der erste Druck hat mal Funktioniert aber mit den weiteren Drucken gibts Probleme.
Werde weiter berichten. Aber erst Nächste Woche, jetzt geh ich auf ein Wochenendbier oder auch Zwei.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
nein, das ist normal ! Wir haben früher LPT2 oder LPT3 verwendet,Josef Pittl hat geschrieben:Ist halt schon blöd wenn man versucht mit "Net Use LPT1: \\PC1\Netzdrucker /persistent:Yes" die LPT1 auf den Netzwekdrucker umzuleiten wenn man gar keine LPT1 schnittstelle hat!
damit die lokalen LPTs nicht blockiert wurden.
Gruß
Hubert
Hubert
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hallo,
für meine alten Programme verwendet ich DOSPRINT, es wird ein LPT simuliert, geht mit jedem Drucker. Man muss nur die Schrift ein wenig anpassen.
Grüsse
Rudolf
für meine alten Programme verwendet ich DOSPRINT, es wird ein LPT simuliert, geht mit jedem Drucker. Man muss nur die Schrift ein wenig anpassen.
Grüsse
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Jetzt verstehe ich überhaupt nur mehr Bahhof!!!
Ich habe jetzt eine Paralelle schnitstelle im PC eingebaut.
Der Befehl NET USE LPT1: \\PC-1\hvdrucker /persistent:yes funktioniert und ein Ausdruck über die Konsole mit ECHO Testausdruck von LPT1 zum Netzdrucker>LPT1 geht auch.
Den Betriebsystemfehler meldet er immer noch???
Die XPPERRORLOG
Das Programm DOSPRINT funktioniert auch nicht? Mein Programm friert ein es kommt nicht mal eine Fehlermeldung und das Programm Printsil.com meldet nach ca. 10 min dass es auf die Textdatei filename.txt nicht zugreifen kann oder diese beschädigt sei. Die Hilfe zu diesem Programm sagt mir dann, dass ich den Timer höher einstellen soll aber auch das bringt nichts?
Ich bin am Verzweifeln?
Ich habe jetzt eine Paralelle schnitstelle im PC eingebaut.
Der Befehl NET USE LPT1: \\PC-1\hvdrucker /persistent:yes funktioniert und ein Ausdruck über die Konsole mit ECHO Testausdruck von LPT1 zum Netzdrucker>LPT1 geht auch.
Den Betriebsystemfehler meldet er immer noch???
Die XPPERRORLOG
Code: Alles auswählen
------------------------------------------------------------------------------
FEHLERPROTOKOLL von "hv.exe" Datum: 08.09.2009 09:56:47
Xbase++ Version : Xbase++ (R) Version 1.20.178
Betriebssystem : Windows NT 6. 0 Build 06001 Service Pack 1
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: N VALUE: 24
-> VALTYPE: C VALUE: LPT1
oError:canDefault : .F.
oError:canRetry : .F.
oError:canSubstitute: .T.
oError:cargo : NIL
oError:description : Betriebsystemfehler
oError:filename :
oError:genCode : 40
oError:operation : set
oError:osCode : 2
oError:severity : 2
oError:subCode : 4
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von OUTWO(652)
Aufgerufen von TOPPRINT(3266)
Aufgerufen von HVSTAMM(94)
Aufgerufen von AUSWAHL(458)
Aufgerufen von MAIN(406)
Ich bin am Verzweifeln?
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
zeige uns doch mal den Quellcode den du beim Drucken verwendest, ausschnittsweise etwas so:
zeige uns doch mal den Quellcode den du beim Drucken verwendest, ausschnittsweise etwas so:
Code: Alles auswählen
set printer to lpt1
set printer on
? "Test"
set printer off
set printer to
Gruß
Hubert
Hubert
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
PS: in den letzten Tagen habe ich die letzten meiner Druckausgaben auf meine Druckerklasse umgestellt.
Die oHB:say(nZeile,nSpalte,cTxt) (linke obere Ecke ist 1,1 nicht 0,0 ) Erweiterung hat sich dabei bewährt.
Ich denke dass ich am Wochenende die neue Version freigebe.
Beispielcode:
Ich hatte eine eigene Textverarbeitung, die bestimmte Texte einmischen und in anderer Schrift drucken musste.
Unter DOS / Xbase++ mit ? ... war das eine heiden Fummelei. Nun ist es ganz einfach, erst den normalen Text,
dann den Rest. Die Positionierung nutzt standardmäßig immer 10 CPI und 6 LPI, das kann man ändern,
ist aber nicht von der Schrift abhängig (man kann also verschiedene Schriften mischen ohne die Startwerte
umrechnen zu müssen.).
PS: in den letzten Tagen habe ich die letzten meiner Druckausgaben auf meine Druckerklasse umgestellt.
Die oHB:say(nZeile,nSpalte,cTxt) (linke obere Ecke ist 1,1 nicht 0,0 ) Erweiterung hat sich dabei bewährt.
Ich denke dass ich am Wochenende die neue Version freigebe.
Beispielcode:
Code: Alles auswählen
oHBP := HBPrinter():New():create() // Standarddrucker, sonst Vorgabetext in create
if ! oHBP:IsPrinterError()
// am Anfang alle nötigen Schriften laden
oHBP:addFont("12.Courier New") // 10 CPI
oHBP:addFont("10.Courier New") // 12 CPI gewünscht ?
oHBP:addFont("7.Courier New") // 17 CPI gewünscht ?
oHBP:addFont("12.Verdana") // wenn man nicht mit Blanks formatiert geht auch das.
// Erste Schrift hier einstellen, kann jederzeit geändert werden.
oHBP:setFont(1) // so stellt man die gewünschte Schrift ein
oHBP:StartDoc(cPrintJobName)
for nRow := 5 to 66 // Zeilen 5 bis 66, oben und unten 4 als Rand
oHBP:say(nRow,10,"Zeile "+str(nRow)+" beginnen auf 10.Stelle")
next
oHBP:setFont(3) // so stellt man die gewünschte Schrift ein
oHBP:say(3,40,"- "+alltrim(str(nSeite)+" -" // Druckreihenfolge ist egal !
oHBP:setFont(1) // so stellt man die gewünschte Schrift ein
// eine neue Seite muss man explizit befehlen !
oHBP:newPage() // wenn man sie braucht
oHBP:say(15,40,cTxt)
oHBP:EndDoc()
oHBP:destroy()
endif
Unter DOS / Xbase++ mit ? ... war das eine heiden Fummelei. Nun ist es ganz einfach, erst den normalen Text,
dann den Rest. Die Positionierung nutzt standardmäßig immer 10 CPI und 6 LPI, das kann man ändern,
ist aber nicht von der Schrift abhängig (man kann also verschiedene Schriften mischen ohne die Startwerte
umrechnen zu müssen.).
Gruß
Hubert
Hubert
-
- Rookie
- Beiträge: 9
- Registriert: Sa, 29. Aug 2009 13:39
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Eine Komplette Funktion eines Ausdruckes:
Bei jedem Set Print on Egal ob die ausgabe auf den Bildschirm, Drucker oder in eine Datei umgeleitet wird?
Code: Alles auswählen
FUNCTION kto103()
* Druckersteuierung etc.............
* Lesen der OF und FL Einstellung aus HVTEXTE
PRIVATE zz,z1,ktoalt
PRIVATE seite,strich,steuerb
PRIVATE vafl,vaof,soll,haben,saldo
zz:=0
z1:="N"
aktcol:=setcolor()
steuerb:=0
seite:=1
strich:=replicate("-",70)
vaof:=68
vafl:=72
soll:=0
haben:=0
saldo:=0
*----------
ueb1:="DATUM BELNR KTO SOLL HABEN TEXT"
ueb2:="DATUM BELNR KTO SOLL HABEN V/U STEUER TEXT"
* 12345678901234567890123456789012345678901234567890123456789012345678901234567890
* 1 2 3 4 5 6 7 8
*----------
SET DELETE ON
*
vaof:=driver->drv_plengh
*
IF awout = 1 // Screen gesamt ber File
SET PRINTER ON
SET PRINTER TO tmp.txt
SET CONSOLE OFF
setcolor("*n/w")
@ 24,02 say "Daten werden fr Bildschirmausgabe vorbereitet"
set device to print
kto104a()
END
IF awout = 2 // Drucker
SET PRINTER on
SET CONSOLE OFF
set device to print
if yktst = "J"
? ps(smal_ein)
endif
END
IF awout = 3 // Ausgabe in File
if(empty(file),file:=finame,)
file:=rtrim(file)
nPos:=at(".",file)
if(nPos = 0,file:=file + ".txt",)
SET PRINTER ON
SET PRINTER TO ("&file")
SET CONSOLE OFF
setcolor("*n/w")
@ 24,02 say "Daten werden in Datei " + alltrim(file) + " geschrieben"
set device to print
END
if(ysv="N" .and. awout > 1,kto104a(),)
SELECT kontstam
GO TOP
WHILE .not. kontstam->(eof())
SELECT journal
dbsetorder(2)
GO TOP
WHILE .not. journal->(eof())
if sollkto = kontstam->ktonr .or. habkto = kontstam->ktonr
IF kontstam->ktonr <> ktoalt
if(ysv="J",seite:=1,)
z1:="J" // min. 1 Satz aus Journal
kto104() // šberschrift
kto105() // Datenzeile
ELSE
kto105()
END
endif
SKIP ALIAS journal
END
IF z1 = "N" // nur Salden ausgeben
kto104()
soll:=kontstam->sollkum
haben:=kontstam->habkum
END
kto106()
if ysv = "J"
eject
endif
SKIP ALIAS kontstam
END
if ysv = "N"
eject
endif
IF awout = 1 .and. sout = 1
CLOSE hvwork
ENDif
if empty(callKonto) // Call aus Jahresabrechnung
? ps(smal_aus)
SET PRINT OFF
SET PRINTER TO
SET CONSOLE ON
set device to screen
set margin to
set color to &aktcol
if(awout=1 .and. sout=2,memodsp(),)
endif
return.t.
*
*-----------------------------------------------------------
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hi,
ich kann hier keine Zeile
set printer to LPT1
finden
ich kann hier keine Zeile
set printer to LPT1
finden
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 237
- Registriert: Do, 14. Aug 2008 14:59
- Wohnort: Straelen
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 3 Mal
Re: Betriebssystemfehler Operation set aber nur unter Vista.
Hallo Hubert,
du hast geschrieben:
Die oHB:say(nZeile,nSpalte,cTxt) (linke obere Ecke ist 1,1 nicht 0,0 ) Erweiterung hat sich dabei bewährt.
Ich denke dass ich am Wochenende die neue Version freigebe.
An die vielen Drucklisten in einem MDI-Hybridprogramm habe ich mich jedoch aus Zeitgründen noch nicht herangetraut. Mit deiner Erweiterung würde es aber kinderleicht zu bewerkstelligen sein.
Ich bin auf jeden Fall sehr gespannt.
du hast geschrieben:
PS: in den letzten Tagen habe ich die letzten meiner Druckausgaben auf meine Druckerklasse umgestellt.
Die oHB:say(nZeile,nSpalte,cTxt) (linke obere Ecke ist 1,1 nicht 0,0 ) Erweiterung hat sich dabei bewährt.
Ich denke dass ich am Wochenende die neue Version freigebe.
Deine HBPrinter-Klasse wird mit dieser Erweiterung gerade für Leute mit viel alten Clipper-Code immer interessanter. Bei meinem ersten Gui-Programm mit xbase++ habe ich bereits deine Klasse eingesetzt und war wirklich beeinduckt von der Leistungsfähigkeit deiner Entwicklung. =D> =D>
An die vielen Drucklisten in einem MDI-Hybridprogramm habe ich mich jedoch aus Zeitgründen noch nicht herangetraut. Mit deiner Erweiterung würde es aber kinderleicht zu bewerkstelligen sein.
Ich bin auf jeden Fall sehr gespannt.
Viele Grüße
Dieter
Was man nicht versteht, besitzt man nicht.
Dieter
Was man nicht versteht, besitzt man nicht.