Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Inetin mysteeri (VB5)

setä [25.11.2006 10:11:33]

#

ApuVa ! Nyt on henkimaailma kouraissut VB-ohjelmaa ja pahasti. Inet-komponentilla vien/haen päivitystiedostoja palvelimelta. Homma on toiminut hyvin täältä putkasta löytämieni vinkkien avulla. Jostain syystä yks kaks kaverin koneella lakkasi toimimasta. Asennettiin koko ohjelma uusiksi mutta sama juttu. Pyysin siirtämään ohjelmakansion toiseen paikkaan (Program Files) ja siellä se toimikin melkein. Ei vaan kyennyt lukemaan palvelimelta päivitystietoja mutta muuten toimi.
Testailin sitten ohjelmaa omalla koneella Design-tilassa kansiossa C:\Program Files\SukuB\. Toimi nikottelematta. Kun tein exen, ei toiminut eli ei onnistunut päivitystiedoston haku. Kun siirsin exen mihin hyvänsä muuhun kansioon, se toimi oikein. Program Filesin alla ohjelma tökkäsi heti ensimmäiseen tiedoston avaukseen, koska tiedosto ei ollut siirtynyt palvelimelta kuten olisi pitänyt. Tiedosto haetaan lauseella:

.Execute , "GET versio.txt " & ph & fl

lause liittyy siis Inet1-komponenttiin, jolla on luotu yhteys palvelimelle oikeaan kansioon. ph = sovelluksen kansio (polku) ja fl on satunnnaisluvulla luotu satunnainen tiedostonimi. Homma toimii siis Design-tilassa mutta ei exenä. Toimii exenä toisessa kansiossa.
Samainen haamu on kummitellut ennenkin. Kun kirjoitin tuon hakukoodin ohjelmaan toiseen paikkaan, se ei toiminut. Kun kopioin saman koodin kohdasta, jossa se toimi, niin silloin se toimi myös toisaalla ohjelmassa.
Mysteeri on siis siinä, mikä estää tiedoston siirron Program Files-kansion alla exenä. Mahtaako tämä jäädä ikuiseksi mysteeriksi?
p.s. kyse ei ole satunnaisesta virheestä vaan ohjelma tekee tuon tempun aina! juuri äsken vielä varmistin. Inet-komponentti ei saa jostain syytä yhteyttä toimimaan oikein vaan jää junnaamaan minuutiksi. Jos sammutan ohjelman, lomake häviää mutta ohjelma jatkaa junnaamista taustalla.

Blaze [25.11.2006 11:43:00]

#

Ettei syypäänä ois välilyönti polussa?
Koita aluks laittaa toi polku lainausmerkien sisään, jos se ei auta, niin GetShortPathName-API on olemassa.

setä [25.11.2006 12:52:25]

#

Välilyönti kuuluu olla erottimena ja ph on muuttuja, jonka sisltö on "C:\Program Files\SukuB\". No niin, taisit tarkoittaa juuri tuota Filesin edessä olevaa välilyöntiä mutta miksi se sitten kuitenkin toimii Design-tilassa tuosta välilyönnistä huolimatta?
Ei auta lainausmerkit. Mutta se välilyönti ilmeisesti on syy eikä polussa näköjään saa olla niitä. kuitenkin vielä ihmetyttää ettei välillyönti haittaa Design-tilassa.

Vastaus

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

Tietoa sivustosta