Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.visual-basic > #18683

Re: [VB6] errore di runtime 5 solo su win XP

Newsgroups it.comp.lang.visual-basic
Date 2016-02-04 10:16 -0800
References <n8vlbg$8c0$1@gioia.aioe.org> <n8vmsu$ckh$1@gioia.aioe.org> <n8vvfn$rnr$1@gioia.aioe.org>
Message-ID <1cdffe34-990b-4499-be9d-91fe33d73ef0@googlegroups.com> (permalink)
Subject Re: [VB6] errore di runtime 5 solo su win XP
From Luca D <antaniserse@yahoo.it>

Show all headers | View raw


On Thursday, February 4, 2016 at 5:50:05 PM UTC+1, carmelo wrote:
> Il 04/02/2016 15:23, GbC ha scritto:
> > Il 04/02/2016 14:57, carmelo ha scritto:
> >> Private Type OPENFILENAME
> >>      lStructSize As Long
> >>      hwndOwner As Long
> >>      hInstance As Long
> >>      lpstrFilter As String
> >>      lpstrCustomFilter As String
> >>      nMaxCustFilter As Long
> >>      nFilterIndex As Long
> >>      lpstrFile As String
> >>      nMaxFile As Long
> >>      lpstrFileTitle As String
> >>      nMaxFileTitle As Long
> >>      lpstrInitialDir As String
> >>      lpstrTitle As String
> >>      flags As Long
> >>      nFileOffset As Integer
> >>      nFileExtension As Integer
> >>      lpstrDefExt As String
> >>      lCustData As Long
> >>      lpfnHook As Long
> >>      lpTemplateName As String
> >> End Type
> >> Private OFName As OPENFILENAME
> >>
> >> Dim FilePath As String
> >> FilePath = Left$(OFName.lpstrFile, OFName.nFileOffset - 1)
> >>
> >> Mi sapreste dire perchè la riga sopra, su Win XP mi da errore di runtime
> >> 5: chiamata di routine o argomento non valido.
> >>
> >> Mentre su Vista, Seven e win 8 funziona regolarmente.
> >>
> >> Carmelo
> >
> >
> > A) Metti un breakpoint prima dell'istruzione incriminata e controlli il
> > contenuto delle due stringhe.
> >
> > debug.print "lpstrFile|" & OFName.lpstrFile & "|"
> > debug.print "nFileOffset|" & OFName.nFileOffset & "|"
> > stop
> > ' riga esistente
> > FilePath = Left$(OFName.lpstrFile, OFName.nFileOffset - 1)
> >
> > B) In alternativa aggiungi una messagebox che mostri il contenuto delle
> > due stringhe, magari controllando con un parametro nella command-line se
> > vuoi visualizzare i messaggi o no. Può anche essere utile in altri casi.
> >
> > Setti una variabile globale booleana in un modulo .bas
> >
> > global myDebugMODE as boolean
> >
> > nel form di avvio (o quel che è) controlli se è stato attivato il debug,
> > che si attiverà indicando come parametro nella commandline la parola -debug
> >
> > if instr(1,command,"-debug",1) > 0 then myDebugMODE = true
> >
> > (lo so che si può fare meglio ma per ora va bene lo stesso)
> >
> > prima di eseguire la linea incriminata metti un
> >
> > if myDebugMODE = True then
> >      MsgBox "lpstrFile|" & OFName.lpstrFile & "|" & vbnewline & _
> >             "nFileOffset|" & OFName.nFileOffset & "|" , _
> >          vbinformation, _
> >          "myDebugMODE: FilePath"
> >
> > end if
> >
> > ' riga esistente
> > FilePath = Left$(OFName.lpstrFile, OFName.nFileOffset - 1)
> >
> >
> > Così cosa è che genere quell'errore.
> >
> Ho provato cosi:
> Dim FilePath As String, iPos as Integer
> iPos = (OFName.nFileOffset - 1) ==== > questa riga da errore
> FilePath = Left$(OFName.lpstrFile, iPos)
> 
> L'errore lo genera OFName.nFileOffset
> solo in win XP perchè?
> 
> Carmelo

Così per curiosita', hai provato ad inizializzare esplicitamente a zero tutti i campi integer/long di quella struttura subito dopo aver dichiarato OFName? 

Back to it.comp.lang.visual-basic | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

[VB6] errore di runtime 5 solo su win XP carmelo <carmelo.giu@alice.it> - 2016-02-04 14:57 +0100
  Re: [VB6] errore di runtime 5 solo su win XP GbC <info@gbcdepot.com> - 2016-02-04 15:23 +0100
    Re: [VB6] errore di runtime 5 solo su win XP carmelo <carmelo.giu@alice.it> - 2016-02-04 17:49 +0100
      Re: [VB6] errore di runtime 5 solo su win XP Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2016-02-04 18:04 +0100
      Re: [VB6] errore di runtime 5 solo su win XP Luca D <antaniserse@yahoo.it> - 2016-02-04 10:16 -0800
      Re: [VB6] errore di runtime 5 solo su win XP "salclem2" <salclem2@yahoo.it> - 2016-02-04 19:38 +0100
        Re: [VB6] errore di runtime 5 solo su win XP "salclem2" <salclem2@yahoo.it> - 2016-02-04 19:39 +0100
      Re: [VB6] errore di runtime 5 solo su win XP GbC <info@gbcdepot.com> - 2016-02-05 11:05 +0100
        Re: [VB6] errore di runtime 5 solo su win XP carmelo <carmelo.giu@alice.it> - 2016-02-05 14:28 +0100
          Re: [VB6] errore di runtime 5 solo su win XP GbC <info@gbcdepot.com> - 2016-02-05 15:24 +0100
  Re: [VB6] errore di runtime 5 solo su win XP Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2016-02-04 18:07 +0100

csiph-web