Jeg har et pascal-problem, og Jeg kan ikke finde info eller hjælp nogen steder, så Jeg håber der er een eller flere her, der vil hjælpe en kuldsejlet amatør.
Problemet er ganske simpelt for så vidt, det handler om udprintning via et pascal-program, afviklet i en Dos-Shell i Windwos XP.
Min compiler er FreePascal, men problemet er det samme med alle andre compilere Jeg har prøvet, dvs. Borland / Turbo.
Udprintningen udfører Jeg i princippet således:
assign(a,'//computername/sharedprintername'); writeln(a,' TEST PRINT'); writeln(a,#12); //Form Feed close (a);
Det kører fint - dog lige med den lille "mente", at udskriften først kommer, når Jeg afslutter programmet... Det betyder, at Jeg skal gå ind og ud af programmet, hver gang Jeg ønsker at printe...
Når udskriftjobbet "udføres" i programmet, kommer jobbet godtnok i kø i spooleren, men er "hænger" det bare, indtil Jeg afslutter sessionen. Jeg har prøvet at give den en "Flush", men det giver ikke nogen forskel.
Jeg ville meget meget meget gerne bibeholde måden med udskift via "assign"-metoden, bl.a. fordi den meget let giver mig mulighed for at udskrive til delte printere via netværk.
Er der ikke en barmhjertig sjæl der kan give mig et godt råd?
Er reset printer godt? Jeg mener, når man lige har bedt printeren om at udskrive - og jobbet er lagret i spooleren, så er reset vel ikke lige sagen af afslutte jobbet med - eller? Printeren er en Deskjet 1220. Har prøvet med 5 andre printere (forskellige mærker og modeller) i min søgen efter et spor, men alle reagerer ens. Det er mit bedste bud, at problemet ligger gemt omkring close-kommandoen... XP ser ikke ud til at reagere det mindste på FLUSH - måske en slags sikkerhedsforanstaltning (eller forsøg på samme) fra Windows' side. Når Jeg laver flere udskriftsjob i samme programsession, bliver de alle pænt lagret i spooleren, og hvert job ligger så og venter til programmet afsluttes. Derpå starter printeren op, og printer alle job ud.
Hvis man lægger rigtig mange jobs ud - f.eks. 50 individuelle udskrifter - kan man opleve, at printeren starter - tager et ark, og så ellers venter... Til sidst bliver den (ligesom visse andre) utålmodig, og parkerer hovederne. - og så sker der så ellers ikke mere.... ikke før programmet afsluttes.
Det er til at fortvivle over -
En lille opdagelse, som måske kan give et een af Jer med bedre overblik end Jeg, en ide om hvad der sker : Hvis Jeg udskriver til serielporten (RS232) istedet, med en printer koblet direkte på porten (og altså helt uden om windows printerdriver og spooler), så kommer udskriftjobbet ud med det samme, uden Jeg behøver afslutte programmet. Hurra - sku' man tro. Men nej... Forsøger man at udskrive endnu engang i samme session, ja, så kommer der ikke det mindste ud af RS232 porten, og følgelig heller ikke af printeren.
Der følger heller ikke nogen fejlmelding eller crash, udskriftsjobbet går bare tabt.
Og det endda selvom første udskriftjob i sessionen afsluttes på behørig vis, med en CLOSE.
Hjælp vil være særdeles værdsat!!
Mvh Vakse_Viggo
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.