Autore Topic: [BUG] RDir non funziona su percorsi remoti  (Letto 2470 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:[BUG] RDir non funziona su percorsi remoti
« Risposta #15 il: 23 Febbraio 2017, 12:58:20 »
siccome ho reinstallato il sistema operativo, sto' riprovando a fare un debdel sistema.

Gambas 3.8.4 da repository ufficiali di Ubuntu - gnome, tutto va come deve essere (allegato 1)


oltre al fatto che questa procedura:
Codice: [Seleziona]
Public Sub Button_SubFolders_Click()
Dim Canzoni As String[]
Dim Canzone As String
Dim Radice As String
Dim contatore As Integer


  Dialog.Title = "Seleziona la cartella da cui vuoi iniziare la scansione."
  Dialog.Path = Label_MediaFolder.Text
  If Dialog.SelectDirectory() Then
     Return
     Else
       radice = Dialog.Path
       canzoni = RDir(radice, "*.mp3")       'carico solo i file mp3
       canzoni.Insert(RDir(radice, "*.ogg"))  ' .... e quelli .OGG
  Endif
 
  Me.Mouse = Mouse.Wait
 
  ProgressBar_scan.Value = 0
  contatore = 0
  For Each canzone In canzoni
    ProgressBar_scan.Value = contatore / canzoni.Count
    canzone = radice & "/" & canzone
    If PresenteInLista(canzone) = False Then  'in questo modo e' piu' veloce
      Label_Duration.Tag = ""
      GetInfo(canzone)
      AddSong(canzone)
    Endif
    contatore = contatore + 1
  Next
  Me.Mouse = Mouse.Arrow

  Message.Info("Completed scan of:" & gb.crlf & Radice & gb.CrLf & "and sub-folders!", "done")
End

Public Function PresenteInLista(path As String) As Boolean
Dim presente As Boolean = False
 
  ColumnView_Discoteca.MoveFirst
  Repeat
    'ColumnView_Discoteca.Item.Selected = True
    If ColumnView_Discoteca.Item[3] = path Then
      presente = True
      Break
    Endif

  Until ColumnView_Discoteca.Movenext()
 
  Return presente
End


Public Sub AddSong(path As String)
Dim chiave As String
 
  ' e' una canzone NUOVA e quindi la sua chiave NON e' l'id ma NEW e poi un contatore progressivo
  chiave = "new" & ColumnView_Discoteca.Count
 
  ColumnView_Discoteca.Add(chiave, "", PictureBox_New.Picture)
 
  ColumnView_Discoteca.Item[1] = TextBox_artist.Text
  ColumnView_Discoteca.Item[2] = TextBox_title.Text
  ColumnView_Discoteca.Item[3] = path
  ColumnView_Discoteca.Item[4] = TextArea_TAGS.Text
  ColumnView_Discoteca.Item[5] = Label_EntryIN.Text
  ColumnView_Discoteca.Item[6] = Label_EntryOUT.Text
  ColumnView_Discoteca.Item[7] = Label_DJ.Text
  ColumnView_Discoteca.Item[8] = False
  ColumnView_Discoteca.Item[9] = False
  ColumnView_Discoteca.Item[10] = TextBox_year.Text
  ColumnView_Discoteca.Item[11] = TextArea_Comments.Text
  ColumnView_Discoteca.Item[12] = Label_Duration.Text
 
End

Public Sub GetInfo(filepath As String)
Dim RitornoTAG As String
Dim aScan As String[]
Dim NomeFile As String

  NomeFile = File.BaseName(filepath)
 
  TextArea_Comments.Clear
  TextArea_TAGS.Clear
 
  Select Case LCase(File.Ext(filepath))
   
    Case "mp3"
      EstraiTagmp3(filepath)
     
      CalcolaDurata(filepath)
     
      Label_EntryIN.Text = "00:00:00"
      Label_EntryOUT.Text = Label_Duration.Text
      Label_DJ.Text = "00:00:00"
     
    Case "ogg", "flac"
      'EstraiTagmp3(filepath)

      Exec ["ogginfo", filepath] To RitornoTAG
      For Each RitornoTAG In Split(RitornoTAG, "\n")
        RitornoTAG = Trim(RitornoTAG)
        aScan = Scan(RitornoTAG, "*: *m:*s")
         If aScan.Count = 3 Then
          'Return CInt(CInt(aScan[1]) * 60 + CFloat(Replace(aScan[2], ",", ".")) + 0.5)
         Endif
      Next
     
      CalcolaDurata(filepath)
     
      Label_EntryIN.Text = "00:00:00"
      Label_EntryOUT.Text = Label_Duration.Text
      Label_DJ.Text = "00:00:00"
     
  End Select

sembra mandare in crash Gambas (e mi ricordo che fosse proprio questa la molla che mi convinse a passare all'ultima release del linguaggio), con questo messaggio:
Citazione
** Oops! Internal error! **
** Cannot create signal handler pipes: Troppi file aperti
** Program aborting. Sorry! :-(
** Please send a bug report at gambas@users.sourceforge.net
« Ultima modifica: 23 Febbraio 2017, 13:36:25 da allegfede »
se corri, morirai stanco (motto degli sniper)