Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Ohjelma ei toimi, vain piippaa alussa (VBA)

Quirzo [15.02.2007 20:08:52]

#

Eli minulla on ongelma, että ohjelma ei toimi kaikilla koneilla. Se vain piippaa ja sammuu.
Jossakin sivulla oli jotain vastaavaa mutta en löytäny vastausta. Ymmärsin kuitenkin että joku DLL puuttuu / vastaavaa.

Nyt kuitenkin se ei enää toimi edes koneella, jolle olen sen tehnyt (Vain visual basicin kautta, ei suoraan exestä). Eli siis piippaa ja sammuu (Ei näy mitään)

Quirzo [16.02.2007 22:40:36]

#

Osaako kukaan neuvoa?

Lumpio [16.02.2007 22:44:58]

#

Mahdollisesti auttamaan kykenevät ja halukkaat varmasti hyötyisivät siitä, että näkisivät esim. kyseisen ohjelman lähdekoodin tai osan siitä. Tällaisenaan on miltei mahdotonta sanoa mitään (jos ongelma olisi yleinen, olisit jo löytänyt ratkaisun Googlesta. Googlasit varmasti ennenkuin kysyit, etkös niin?)

Quirzo [17.02.2007 14:14:13]

#

Sain luultavasti toimimaan.
ohjelma oli päivitysohjelma, jonka "rungon", eli sen koodin joka lataa tiedoston, olin kopioinut.
Tekijä oli laittanut sinne jonkin koodin, joka tekee manifestin ja tarvitsee jotakin dll tiedostoa, mitä ei kaikista koneista löydy.

Lumpio, kiitos vastauksesta olisin antanut lähdekodin, jos ei olisi selvinnyt.

Quirzo [18.02.2007 17:37:03]

#

Eli en saanutkaan toimimaan.

Käytän tällaista koodia, joka lataa tiedoston.
Luultavasti vaatii jonkun DLL -tiedoston, mutta ei ole hajuakaan mikä se olisi
Tämä on siis usercontrollin koodi. Formissa ei ole mitään erikoista, joka voisi aiheuttaa virheen.

'I found this code somewhere on the internet
'I don't know where I found it, sorry!
'I thought it might be useful to VB coders...
'This usercontrol can download multiple files at the same time!

Option Explicit
Event DownloadProgress(CurBytes As Long, MaxBytes As Long, SaveFile As String)
Event DownloadError(SaveFile As String, Errori As String)
Event DownloadComplete(MaxBytes As Long, SaveFile As String)



Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)
On Error Resume Next
Dim F() As Byte, Fn As Long
If AsyncProp.BytesMax <> 0 Then
Fn = FreeFile
F = AsyncProp.Value
Open AsyncProp.PropertyName For Binary Access Write As #Fn
Put #Fn, , F
Close #Fn
Else
RaiseEvent DownloadError(AsyncProp.PropertyName, "Virhe, tiedosto ei ole palvelimella?")
End If
RaiseEvent DownloadComplete(CLng(AsyncProp.BytesMax), AsyncProp.PropertyName)
End Sub

Private Sub UserControl_AsyncReadProgress(AsyncProp As AsyncProperty)
On Error Resume Next
If AsyncProp.BytesMax <> 0 Then
RaiseEvent DownloadProgress(CLng(AsyncProp.BytesRead), CLng(AsyncProp.BytesMax), AsyncProp.PropertyName)
End If
End Sub

Private Sub UserControl_Resize()
UserControl.Width = ScaleX(32, vbPixels, vbTwips)
UserControl.Height = ScaleY(32, vbPixels, vbTwips)
End Sub

Public Sub BeginDownload(URL As String, SaveFile As String)
On Error GoTo ErrorBeginDownload
UserControl.AsyncRead URL, vbAsyncTypeByteArray, SaveFile, vbAsyncReadForceUpdate
Exit Sub
ErrorBeginDownload:
RaiseEvent DownloadError(SaveFile, "Virhe:" & Err.Description)
Exit Sub
End Sub

Quirzo [18.02.2007 19:13:00]

#

Voitte myös kokeilla, toimiiko ohjelma teillä.
Kyse on pääohjelmani päivittäjästä

http://personal.inet.fi/peli/iskari/qswitch/patch/Updater.exe

EDIT:
Nyt löyty todella mielenkiintoinen ilmiö.
Kyseinen ohjelma toimii kaikkialla paitsi siellä ohjelmani kansiossa.
Tällä kakkoskoneellani se ei toimi kansiossa c:/program files/qswitch_alpha (ohjelmani nimi) mutta toimii esim c:/program files -kansiossa!

Olen aivan ymmälläni.

EDIT2:
Kokeilin, että muutin jotakin tuon tiedoston asetuksia. (Klikkasin oikealla ja laitoin esim. visuaaliset teemat pois) -> toimi
Kokeilin myös esim vain 640x... resoluutiota sieltä asetuksista -> toimi.
Mutta otin pois -> ei toiminut

Sitten asensin sen uudelleen (sama asennustiedosto) ja taas toimi.
Suoraan sanottuna ihan helvetin mystistä.

Vastaus

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

Tietoa sivustosta