Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6 tulostus

Milu [29.04.2006 22:08:28]

#

Mistähän kannattaisi alkaa vika tutkimaan, kun kone jossa VB6:lla tehty ohjelman tulostus takkuilee.

Koneessa on kaksi usb porttia, toiseen on kytketty tulosti ja toiseen ns. "dataloggeri" joka on toisen ohjelman käytössä.
Omasta ohjelmasta tulostus usb:n kautta kirjoittimelle toimii normaalisti niin kauan kun ei käytä toista ohjelmaa ja sen dataloggeria ja usb porttia, jos sitä käyttää niin sen jälkee tulostus jää "roikkumaan".
Ainoastaan käynnistämällä kone uudestaa tulostus on uudestaan mahdollista.
Käyttöjärjestelmä on win2000

Sotkeeko tuo tulostimen tai loggerin ajurit jotenkin toisiaan, vai onko tossa ohjelman tulostuskäskyssä jotain puutteita.

Se ohjelman tulostus on toteutettu näin.

Private Sub Command3_Click()
Printer.PaintPicture Picture1.Image, 400, 2500
Printer.EndDoc
End Sub

Metabolix [29.04.2006 22:56:04]

#

No tarkista ensin, toimiiko tulostus muilla ohjelmilla kuvienkin puolesta oikein dataloggerista riippumatta. Sieltä minä lähtisin ensinnä vikaa etsimään. Ohjelmahan ei juttele kuitenkaan suoranaisesti tulostimen kanssa, vaan käskee Windowsin tulostaa tuollaista materiaalia, eli koodin puolella saisi jo olla melko sotkua... Toki vika voi olla myös siellä välissä eli VB:n ajonaikaisissa kirjastoissa.

Milu [29.04.2006 23:41:52]

#

Tulostus toimii kuvienkin puolesta normaalisti muillakin ohjelmilla ennen oman ohjelman ja loggerin käyttämistä.
Sitä loggeria joudun käyttämään oman ohjelman ajon aikana samaa aikaan, kun sen erillisestä ulostulosta tarvitsen jännitetiedon omalle ohjelmalle com portin kautta.
Se loggeri on kaupallinen viritelmä "lainaan" sieltä vain jännite tiedon omaan ohjelmaani.
Sen loggerin käytön jälkeen ei tulostus onnistu muistakaan ohjelmista, tulostimen ominaisuuksista kun katsoo siellä näkyy että tulostus käynnissä, mutta vaikka odottaa kuinka kauan se ei tule sieltä ulos.

En ole aivan varma, mutta mielestäni ongelmat ilmestyvät erään toisen com porttia käyttävän ohjelman asennuksen jälkeen.
Ennen kyseisen ohjelman asennusta oma ohjelmani luki com1 porttia ja ohjelman asennuksen jälkeen se muuttui com2:seksi.
Koneessa ei ole kuin yksi com portti ja ohjelman asennus teki siitä käsittääksen com2 portin.

Olen poistanut kyseisen ohjelman ja ajannut tulostimen ajurin uudestaa kuten myös loggeri asennusohjelman, siltikään ongelma ei ole poistunut.

Olen tuon vb6:sen kanssa aika untuvikko ja noista porttien määrityksistä pihalla kuin lumiukko.

Eli jos saisi rautalangasta väänettyä neuvoja mistä aloittaa, niin olisin kiitollinen.

Milu [30.04.2006 08:20:54]

#

Vielä hieman lisäselvennystä asiaan.

Niiden laitteiden ja ohjelmien käyttöjärjestys on seuraava.

- loggeri päälle
- loggerin oma ohjelma käyntiin
- mittauksia sillä loggerin omalla ohjelmalla.
- loggeri ohjelman sammutus(loggeri jää silti päälle)
- oman ohjelman käynnistys
- mittaus omassa ohjelmassa loggerin erillisestä ulostulosta omalla kytkennällä com portin kautta.
- mittauksen lopetus.
- tulostus, joka ei onnistu!!!

Vaikka tulostimen ominaisuuksista käy peruutamasa tulostustyön joka näkyy siellä, niin se ilmoittaa, että poistaa tulostustyön, mutta jää silti sinne roikkumaan.

Kaikki muut ohjelmat toimii silti normaalisti, mutta tulostus ei onnistuu enää mistään ohjelmasta ennenkuin sammuttaa koneen ja käynnistää sen uudelleen.
Tulostin on halpa HP:n mustesuihku tulostin jossa ei itsessä kai ole "älyä".


Se kaupallinen loggeri toimii itsenäisenä yksikkönä siinä on lisäoptiona se tietokoneeseen liitettävyys usb:n välityksellä.
Voisiko se sotkea asiaa mitenkään jos se loggeri on päällä ja kytkettynä usb porttiin, mutta loggerin oma ohjelma ei ole käynnissä.
Eli se loggeri tunkisi usb porttiin dataa eikä mikään ohjelma lukisi sitä, vai onko ne yleensä toteutettu siten, ettei ne lähetä usb porttiin mitään, jollei ohjelmasta anneta ohjelman ajonaikana käskyä lähettää dataa.

Ettei tarvitsisi alkaa mittailemaan usb porttia, onko olemassa sellaisia valmiita ohjelmia jolla voisi tarkistaa onko usb portissa tulevaa liikenettä vaikka itse ohjelma ei ole käynnissä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta