Newsgroup: it.comp.lang.visual-basic
Titolo: Errore di runtime 405

Piu' utilizzo VB e piu' mi accorgo che fa schifo.
In questi giorni mi si e' presentata 'sta roba.
ho visualizzato un form a scelta non obbligatoria.
dentro di questo ho sparato un
Load SfogliaCartelle (inizialmente nascosto)
SfogliaCartelle.Show vbmodal
e tutto funziona
scarico il form in questione (scarico confermato
da forms.count) e in seguito lo ricarico
quando eseguo la stessa istruzione
SfogliaCartelle.Show vbmodal, mi dice
Errore di runtime 405... ... ..
Ho notato che nascondendo il form chiamante
e rimostrandolo subito dopo tutto funziona. In
pratica mi accetta soltanto un SfogliaCartelle.show.
Che fare? Sto diventando pazzo.
E' la terza idiozia che VB mi combina quando cerco
di riutilizzare un componente (form). E poi dicono
che creare progetti con 200 forms fa male... :)
--
Fibia "Sakamoto" FBI
URL: 
www.geocities.com/fibiafbi
E-Mail: 
fibi...@hotmail.com
ICQ UIN 63586057

 wrote in message
8m3rsc$9un$1...@lacerta.tiscalinet.it...


Errore di runtime 405... ... ..
Beh, in genere mi viene detto che il PC ha sempre ragione, io ci aggiungerei
"nel 99% dei casi", quindi inutile arrabbiarsi, fai un respiro profondo e
poi cerca di capire cosa č successo :)
Vediamo innanzitutto cos'č l'errore 405:
-------------
Impossibile visualizzare form a scelta obbligatoria in questo contesto
(Errore 405)
Si č cercato di visualizzare un form a scelta obbligatoria che avrebbe
comportato lo scaricamento del form corrente. L'operazione non č consentita.
------------
Hai fatto qualcosa del genere?
Hai scaricato il tuo form (che chiama SfogliaCartelle) direttamente da
SfogliaCartelle modale?
Questo oltre che darti l'errore č anche scorretto logicamente.
Ciao.

 SfogliaCartelle modale?
Sigh, fosse cosi' semplice.
Purtroppo non ho mai scaricato il form SfogliaCartelle e poi che c'entra
questo. Tale errore mi viene dato da SfogliaCartelle.show, ed il suo
caricamento in memoria viene confermato da un debug.print Forms.count.
PERCHE' VISUAL BASIC FA COSI' SCHIFO?
Qualche spiegazione?
Perche' la prima volta funziona e la seconda no.
Se poi nascondo il form chiamante (MainForm) e lo mostro subito
dopo il tutto funziona.
Load SfogliaCartelle
SfogliaCartelle.Show VbModal
... quando ritorna da quella chiamata...
Mainform.Hide
Mainform.show
SfogliaCartelle.Show VbModal
... cosi' funziona...
Senza la Mainform.Hide non funziona


Load SfogliaCartelle
[snip]
Come detto sopra l'errore è dato da SfogliaCartelle, e non da quello che ci
stà intorno.
Prova a postare il codice di SfogliaCartelle.
Ciao

 PERCHE' VISUAL BASIC FA COSI' SCHIFO?
Sicuro sia colpa sua?

 Sicuro sia colpa sua?
So ammettere le mie colpe quando le ho...
ma se controlli i miei ultimi tre problemi ti accorgi di cosa
intendo dire con quell'affermazione...


 Prova a postare il codice di SfogliaCartelle.
Cosa un po' ardua in questo momento... non ho il codice sottomano :p
Cmq il form non viene scaricato, ripeto, non viene scaricato, rimane in
memoria, ma non puo' essere visualizzato a scelta obbligatoria.


> Prova a postare il codice di SfogliaCartelle.
Postato
Enum FSELOpzioni
    FSEL_OPEN = 0
    FSEL_SAVE = 1
    FSEL_MUSTEXIST = 2
    FSEL_ONLYDIRS = 4
    FSEL_LEAVELASTDIR = 8
End Enum
Private Const NORMAL_HEIGHT = 4365  ' Grandezza normale
Private Const COLLECT_HEIGHT = 6000 ' Grandezza per collezionare
Public Function SfogliaCartelle(ByVal TITOLO As String, ByVal OPZIONI As FSELOpzioni, FILTRI_TIPO As Collection, FILTRI As
Collection, ByVal FILTRODEFAULT As Integer, ByVal LEFT, ByVal TOP) As String
Attribute SfogliaCartelle.VB_Description = "Apre la finestra di dialogo per la ricerca di files o cartelle."
' Apre la finestra di dialogo per la ricerca di files o cartelle
    Dim TEMP As Integer
    If ControlloChiaviaccesso = False Then Exit Function
    Err.Clear
    On Error Resume Next
    Load FSelForm
    FSelForm.MULTIPLE = False       ' Singola ricerca
    FSelForm.SettaOpzioni OPZIONI   ' Imposta opzioni
    FSelForm.Caption = TITOLO       ' Imposta titolo dialog
    FSelForm.FrameCollector.Enabled = False
    FSelForm.FrameCollector.Visible = False
    For TEMP = 1 To FILTRI.Count    ' Imposta filtri
        FSelForm.SettaFiltri -1, FILTRI_TIPO(TEMP), FILTRI(TEMP), (TEMP = FILTRODEFAULT)
    Next TEMP
    FSelForm.Move LEFT, TOP, 6720, NORMAL_HEIGHT  ' Sposta
    FSelForm.Show 0
    FSelForm.Hide
    FSelForm.Show 1                 ' Mostra dialog fissa
    FILTRO_ULTIMO_USATO = FSelForm.ComboFilter.ListIndex
    SfogliaCartelle = FSelForm.NOMEFILE ' Recupera nome
    Unload FSelForm
End Function
------- INIZIO FSELFORM
VERSION 5.00
Begin VB.Form FSelForm
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Seleziona un file"
   ClientHeight    =   5610
   ClientLeft      =   45
   ClientTop       =   345
   ClientWidth     =   6630
   BeginProperty Font
      Name            =   "Verdana"
      Size            =   8.25
      Charset         =   0
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   Icon            =   "FSel.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5610
   ScaleWidth      =   6630
   Begin VB.CommandButton ButtonCollectAll
      Caption         =   "Aggiunt&i tutto"
      Height          =   255
      Left            =   4380
      TabIndex        =   23
      ToolTipText     =   "Aggiunge alla lista tutti i files elencati"
      Top             =   30
      Visible         =   0   'False
      Width           =   1335
   End
   Begin VB.CommandButton ButtonNewFolder
      Height          =   315
      Left            =   2720
      Picture         =   "FSel.frx":014A
      Style           =   1  'Graphical
      TabIndex        =   21
      ToolTipText     =   "Crea una nuova cartella"
      Top             =   420
      Width           =   435
   End
   Begin VB.CommandButton ButtonDesktop
      Height          =   315
      Left            =   2300
      Picture         =   "FSel.frx":048C
      Style           =   1  'Graphical
      TabIndex        =   20
      ToolTipText     =   "Passa alla cartella del Desktop"
      Top             =   420
      Width           =   435
   End
   Begin VB.CommandButton ButtonDocumenti
      Height          =   315
      Left            =   1880
      Picture         =   "FSel.frx":07CE
      Style           =   1  'Graphical
      TabIndex        =   19
      ToolTipText     =   "Passa alla cartella dei documenti"
      Top             =   420
      Width           =   435
   End
   Begin VB.Frame FrameCollector
      Caption         =   "&Lista files"
      Height          =   1575
      Left            =   60
      TabIndex        =   6
      Top             =   3960
      Width           =   6495
      Begin VB.CommandButton ButtonCollectorNext
         Caption         =   "Porta &Giù"
         Enabled         =   0   'False
         Height          =   315
         Left            =   5100
         TabIndex        =   11
         ToolTipText     =   "Sposta il file corrente in basso di una posizione"
         Top             =   1140
         Width           =   1275
      End
      Begin VB.CommandButton ButtonCollectorPrev
         Caption         =   "Porta &Sù"
         Enabled         =   0   'False
         Height          =   315
         Left            =   5100
         TabIndex        =   10
         ToolTipText     =   "Sposta il file corrente in alto di una posizione"
         Top             =   840
         Width           =   1275
      End
      Begin VB.CommandButton ButtonCollectorDeleteAll
         Caption         =   "Elimina Tutt&o"
         Height          =   315
         Left            =   5100
         TabIndex        =   9
         ToolTipText     =   "Elimina tuti i files dalla lista"
         Top             =   540
         Width           =   1275
      End
      Begin VB.CommandButton ButtonCollectorDelete
         Caption         =   "&Elimina"
         Enabled         =   0   'False
         Height          =   315
         Left            =   5100
         TabIndex        =   8
         ToolTipText     =   "Elimina il file corrente dalla lista"
         Top             =   240
         Width           =   1275
      End
      Begin VB.ListBox ListCollector
         Height          =   1230
         ItemData        =   "FSel.frx":0B10
         Left            =   120
         List            =   "FSel.frx":0B12
         TabIndex        =   7
         ToolTipText     =   "Lista dei files aggiunti"
         Top             =   240
         Width           =   4935
      End
   End
   Begin VB.CommandButton ButtonUpFolder
      Height          =   315
      Left            =   1460
      Picture         =   "FSel.frx":0B14
      Style           =   1  'Graphical
      TabIndex        =   18
      ToolTipText     =   "Seleziona la cartella superiore"
      Top             =   420
      Width           =   435
   End
   Begin VB.ComboBox ComboFilter2
      Height          =   315
      ItemData        =   "FSel.frx":0E56
      Left            =   6000
      List            =   "FSel.frx":0E58
      TabIndex        =   22
      Text            =   "Filtro 1"
      Top             =   0
      Visible         =   0   'False
      Width           =   555
   End
   Begin VB.CommandButton ButtonCancel
      Cancel          =   -1  'True
      Caption         =   "Ann&ulla"
      Height          =   315
      Left            =   5280
      TabIndex        =   5
      ToolTipText     =   "Annulla la scelta"
      Top             =   3600
      Width           =   1215
   End
   Begin VB.CommandButton ButtonOpen
      Caption         =   "&Apri"
      Default         =   -1  'True
      Height          =   315
      Left            =   5280
      TabIndex        =   4
      ToolTipText     =   "Conferma il file o la cartella selezionati"
      Top             =   3240
      Width           =   1215
   End
   Begin VB.ComboBox ComboFilter
      Height          =   315
      ItemData        =   "FSel.frx":0E5A
      Left            =   1020
      List            =   "FSel.frx":0E5C
      TabIndex        =   3
      ToolTipText     =   "Seleziona il filtro"
      Top             =   3600
      Width           =   4155
   End
   Begin VB.TextBox TextCurrentFile
      Height          =   285
      Left            =   1020
      TabIndex        =   1
      ToolTipText     =   "Inserisci il nome del file o della cartella"
      Top             =   3240
      Width           =   4155
   End
   Begin VB.FileListBox Files
      Height          =   2820
      Hidden          =   -1  'True
      Left            =   3300
      System          =   -1  'True
      TabIndex        =   17
      ToolTipText     =   "Seleziona il file"
      Top             =   300
      Width           =   3255
   End
   Begin VB.DirListBox Dirs
      Height          =   2340
      Left            =   60
      TabIndex        =   15
      ToolTipText     =   "Seleziona la cartella"
      Top             =   780
      Width           =   3135
   End
   Begin VB.DriveListBox Drive
      Height          =   315
      Left            =   660
      TabIndex        =   13
      ToolTipText     =   "Seleziona l'unità disco"
      Top             =   60
      Width           =   2535
   End
   Begin VB.Label LabelFilter
      AutoSize        =   -1  'True
      Caption         =   "&Tipo file:"
      Height          =   195
      Left            =   60
      TabIndex        =   2
      Top             =   3660
      Width           =   750
   End
   Begin VB.Label LabelCurrentFile
      AutoSize        =   -1  'True
      Caption         =   "&Nome file:"
      Height          =   195
      Left            =   60
      TabIndex        =   0
      Top             =   3300
      Width           =   885
   End
   Begin VB.Label LabelFiles
      AutoSize        =   -1  'True
      Caption         =   "&Files"
      Height          =   195
      Left            =   3360
      TabIndex        =   16
      Top             =   60
      Width           =   375
   End
   Begin VB.Label LabelDirs
      AutoSize        =   -1  'True
      Caption         =   "Di&rectory"
      Height          =   195
      Left            =   60
      TabIndex        =   14
      Top             =   540
      Width           =   795
   End
   Begin VB.Label LabelDrive
      AutoSize        =   -1  'True
      Caption         =   "&Drive"
      Height          =   195
      Left            =   60
      TabIndex        =   12
      Top             =   120
      Width           =   465
   End
End
Attribute VB_Name = "FSelForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private FLAGOPEN As Boolean
Private MUSTEXIST As Boolean
Private ONLYDIRS As Boolean
Private DONTRETURNOD As Boolean     ' Non ritorna alla directory corrente
Private ORIGINALDIRECTORY As String ' Preserva directory corrente
Private SETTAGGIREF As New FSettaggi
Private SYSFILEREF As New FSystemFile
Public MULTIPLE As Boolean          ' Flag per collezione
Attribute MULTIPLE.VB_VarDescription = "Flag per le ricerche multiple."
Public NOMEFILE As String           ' Nome del file restituito
Attribute NOMEFILE.VB_VarDescription = "Nome del file restituito nella ricerca singola."
Private Sub ButtonCancel_Click()
    Form_QueryUnload 0, 0           ' Chiude
End Sub
Private Sub ButtonCollectAll_Click()
    Dim TEMP As Integer
    Err.Clear
    On Error Resume Next
    For TEMP = 0 To Files.ListCount - 1 ' Aggiunge tutti i files
        ListCollector.AddItem SYSFILEREF.Absolutize(Files.List(TEMP), Dirs.PATH)
    Next TEMP
End Sub
Private Sub ButtonCollectorDelete_Click()
    Err.Clear
    On Error Resume Next
    With ListCollector              ' Abbrevia istruzioni
        If (.ListCount > 0) And (.ListIndex >= 0) Then
            .RemoveItem .ListIndex  ' Elimina file dalla lista
            ButtonCollectorDelete.Enabled = False ' Disattiva
            .SetFocus               ' Non salta al prossimo pulsante
        End If
    End With
End Sub
Private Sub ButtonCollectorDeleteAll_Click()
    Dim MSGRES As VbMsgBoxResult
    Dim TEMP As Integer
    Err.Clear
    On Error Resume Next
    MSGRES = MsgBox("Sei sicuro di voler eliminare tutti gli elementi della lista?", vbExclamation Or vbYesNo Or vbDefaultButton2,
"Elimina tutti gli elementi della lista")
    If MSGRES = vbYes Then ListCollector.Clear ' Elimina tutto
End Sub
Private Sub ButtonCollectorNext_Click()
    Err.Clear
    On Error Resume Next
    Dim STRINGA As String
    With ListCollector              ' Abbrevia istruzioni
        If (.ListCount > 0) And (.ListIndex < .ListCount) Then
            STRINGA = .List(.ListIndex + 1)
            .List(.ListIndex + 1) = .List(.ListIndex)
            .List(.ListIndex) = STRINGA
        End If
    End With
End Sub
Private Sub ButtonCollectorPrev_Click()
    Err.Clear
    On Error Resume Next
    Dim STRINGA As String
    With ListCollector              ' Abbrevia istruzioni
        If (.ListCount > 0) And (.ListIndex >= 1) Then
            STRINGA = .List(.ListIndex - 1)
            .List(.ListIndex - 1) = .List(.ListIndex)
            .List(.ListIndex) = STRINGA
        End If
    End With
End Sub
Private Sub ButtonDesktop_Click()
    Err.Clear
    On Error Resume Next
    Drive.Drive = SETTAGGIREF.TrovaDesktop ' Si sposta al Desktop
    Dirs.PATH = SETTAGGIREF.TrovaDesktop ' Si sposta al Desktop
    Files.PATH = Dirs.PATH
    Dirs.Refresh
    Dirs.SetFocus
End Sub
Private Sub ButtonDocumenti_Click()
    Err.Clear
    On Error Resume Next
    Dirs.PATH = SETTAGGIREF.TrovaDocumenti ' Si sposta a Documenti
    Dirs.Refresh
    Dirs.SetFocus
End Sub
Private Sub ButtonNewFolder_Click()
    Dim NUOVACARTELLA As String
    Err.Clear
    On Error Resume Next
    NUOVACARTELLA = InputBox("Inserisci il nome della nuova cartella", "Crea nuova cartella")
    MkDir NUOVACARTELLA             ' Crea cartella
    Dirs.Refresh
    Dirs.SetFocus
End Sub
Private Sub ButtonOpen_Click()
    Dim FILE As String
    Err.Clear
    On Error Resume Next
    FILE = SYSFILEREF.Absolutize(TextCurrentFile.Text, Dirs.PATH)
    If (MUSTEXIST = True) And (SYSFILEREF.FileEsiste(FILE) = False) Then
        MsgBox "Il file " & TextCurrentFile.Text & " non esiste." & _
        vbNewLine & "Controllarne la posizione", _
        vbCritical Or vbOKOnly, "Errore nella scelta del file"
    Else
        If ONLYDIRS = True Then ' Solo directories
            NOMEFILE = Dirs.PATH ' Prima parte
            If SYSFILEREF.FileEsiste(FILE) = True Then ' Seconda parte
                If (GetAttr(FILE) And vbDirectory) = vbDirectory Then
                    NOMEFILE = SYSFILEREF.Absolutize(TextCurrentFile.Text, NOMEFILE)
                End If
            End If
            If MULTIPLE = False Then
                If DONTRETURNOD = False Then
                    ChDrive ORIGINALDIRECTORY ' Ripristina drive originale
                    ChDir ORIGINALDIRECTORY ' Ripristina directory originale
                End If
                Me.Hide
            Else
                ListCollector.AddItem NOMEFILE ' Aggiungi alla lista
            End If
        Else                    ' Anche file
            If SYSFILEREF.FileEsiste(FILE) = True Then ' GetAttr richiede esistenza
                If (GetAttr(TextCurrentFile.Text) And vbDirectory) = vbDirectory Then
                    ChDrive TextCurrentFile.Text ' Directory esistente
                    Dirs.PATH = TextCurrentFile.Text ' Cambia directory
                    Drive.Drive = CurDir
                    TextCurrentFile.Text = ""
                    Dirs.Refresh
                    Drive.Refresh
                Else
                    If MULTIPLE = False Then
                        NOMEFILE = FILE ' File esistente
                        If DONTRETURNOD = False Then
                            ChDrive ORIGINALDIRECTORY ' Ripristina drive originale
                            ChDir ORIGINALDIRECTORY ' Ripristina directory originale
                        End If
                        Me.Hide
                    Else
                        ListCollector.AddItem FILE ' Aggiungi alla lista
                    End If
                End If
            Else
                If MULTIPLE = False Then
                    NOMEFILE = FILE ' File non esistente
                    If DONTRETURNOD = False Then
                        ChDrive ORIGINALDIRECTORY ' Ripristina drive originale
                        ChDir ORIGINALDIRECTORY ' Ripristina directory originale
                    End If
                    Me.Hide
                Else
                    ListCollector.AddItem FILE ' Aggiungi alla lista
                End If
            End If
        End If
    End If
End Sub
Private Sub ButtonUpFolder_Click()
    Err.Clear
    On Error Resume Next
    ChDir ".."                      ' Cartella superiore
    Dirs.PATH = CurDir
    Files.PATH = CurDir
End Sub
Private Sub ComboFilter_Click()
    Err.Clear
    On Error Resume Next
    ComboFilter2.ListIndex = ComboFilter.ListIndex ' Sincronizza filtri
    Files.Pattern = ComboFilter2.List(ComboFilter2.ListIndex)
    Files.Refresh
End Sub
Private Sub ComboFilter_KeyDown(KeyCode As Integer, Shift As Integer)
    If (KeyCode <> vbKeyUp) And _
        (KeyCode <> vbKeyDown) And _
        (KeyCode <> vbKeyLeft) And _
        (KeyCode <> vbKeyRight) And _
        (KeyCode <> vbKeyHome) And _
        (KeyCode <> vbKeyEnd) Then
        KeyCode = 0
    End If
End Sub
Private Sub ComboFilter_KeyPress(KeyAscii As Integer)
    KeyAscii = 0
End Sub
Private Sub Dirs_Change()
    Err.Clear
    On Error Resume Next
    ChDir Dirs.PATH                 ' Cambia directory
    Files.PATH = CurDir
End Sub
Private Sub Dirs_GotFocus()
    ButtonOpen.Default = False      ' Permette l'uso di INVIO
End Sub
Private Sub Dirs_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyReturn: Dirs.PATH = Dirs.List(Dirs.ListIndex)
        Case vbKeyBack: ButtonUpFolder_Click ' Directory superiore
    End Select
End Sub
Private Sub Dirs_LostFocus()
    ButtonOpen.Default = True
End Sub
Private Sub Drive_Change()
    Err.Clear
    On Error Resume Next
    ChDrive Drive.Drive
    If Err.Number <> 0 Then
        MsgBox Err.Description, vbCritical Or vbOKOnly, "Errore"
        ChDrive CurDir              ' Correggi errore
        Drive.Drive = CurDir
    Else
        ChDir "\"                   ' Parte sempre dalla radice
        Dirs.PATH = CurDir          ' Cambia directory
        Files.PATH = CurDir
    End If
End Sub
Private Sub Files_Click()
    Err.Clear
    On Error Resume Next
    TextCurrentFile.Text = Files.FileName ' Aggiorna file corrente
End Sub
Private Sub Files_DblClick()
    ButtonOpen_Click                ' Accetta il file
End Sub
Private Sub Form_Load()
    ORIGINALDIRECTORY = CurDir
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Err.Clear
    On Error Resume Next
    If DONTRETURNOD = False Then
        ChDrive ORIGINALDIRECTORY ' Ripristina drive originale
        ChDir ORIGINALDIRECTORY ' Ripristina directory originale
    End If
    If UnloadMode = 0 Then
        Cancel = 1
        TextCurrentFile.Text = ""
        NOMEFILE = ""
        MULTIPLE = False            ' Interrompe la collezione
        Me.Hide
    End If
End Sub
Private Sub ListCollector_Click()
    Err.Clear
    On Error Resume Next
    If ListCollector.ListCount > 0 Then
        ButtonCollectorDelete.Enabled = True
        ButtonCollectorPrev.Enabled = IIf(ListCollector.ListIndex > 0, True, False)
        ButtonCollectorNext.Enabled = IIf(ListCollector.ListIndex < ListCollector.ListCount - 1, True, False)
    Else
        ButtonCollectorDelete.Enabled = False
        ButtonCollectorPrev.Enabled = False
        ButtonCollectorNext.Enabled = False
    End If
End Sub
Private Sub ListCollector_Scroll()
    ListCollector_Click
End Sub
Public Sub SettaFiltri(Indice As Integer, Tipologia As String, Filtro As String, Default As Boolean)
Attribute SettaFiltri.VB_Description = "Setta o aggiunge un filtro."
    Err.Clear
    On Error Resume Next
    If Indice = -1 Then
        ComboFilter.AddItem Tipologia ' Aggiungi filtro
        ComboFilter2.AddItem Filtro
        If Default = True Then      ' Setta come default
            ComboFilter.ListIndex = ComboFilter.ListCount - 1
            ComboFilter2.ListIndex = ComboFilter.ListCount - 1
        End If
    Else
        ComboFilter.List(Indice) = Tipologia ' Cambia filtro
        ComboFilter2.List(Indice) = Filtro
        If Default = True Then
            ComboFilter.ListIndex = Indice
            ComboFilter2.ListIndex = Indice
        End If
    End If
End Sub
Public Sub SettaOpzioni(OPZIONI As FSELOpzioni)
Attribute SettaOpzioni.VB_Description = "Setta le opzioni generali per la ricerca."
    FLAGOPEN = IIf((OPZIONI And FSEL_SAVE) = FSEL_SAVE, False, True)
    MUSTEXIST = IIf((OPZIONI And FSEL_MUSTEXIST) = FSEL_MUSTEXIST, True, False)
    ONLYDIRS = IIf((OPZIONI And FSEL_ONLYDIRS) = FSEL_ONLYDIRS, True, False)
    DONTRETURNOD = IIf((OPZIONI And FSEL_LEAVELASTDIR) = FSEL_LEAVELASTDIR, True, False)
                                    ' Assegna opzioni
    ButtonOpen.Caption = IIf(FLAGOPEN = True, "&Apri", "S&alva")
    If MULTIPLE = True Then
        ButtonOpen.Caption = "&Aggiungi"
        ButtonCancel.Caption = "Chi&udi"
        ButtonCancel.ToolTipText = "Termina la scelta"
        ButtonCollectAll.Visible = True
    End If
    Files.Enabled = Not ONLYDIRS
    LabelFiles.Enabled = Files.Enabled
    ComboFilter.Enabled = Files.Enabled
    LabelFilter.Enabled = Files.Enabled
    ButtonCollectAll.Enabled = Files.Enabled
End Sub


 End Sub
Private Sub ButtonCancel_Click()
    Form_QueryUnload 0, 0           ' NON Chiude
End Sub
Private Sub ButtonCancel_Click()
    Unload Me           ' Chiude
End Sub
--
Ciao.
Maurizio
--------
?SPQR(C)
 X

 End Sub
No, non intendevo scaricare il form,
ho bisogno di nasconderlo, valutare alcune espressioni
nella routine chiamante e poi scaricare il form dalla
chiamante.
Leggiti la routine chiamante e troverai li l'unload.
la chiamata a Form_QueryUnload 0, 0 nasconde
il form, il chiude del commento e' soltanto esplicativo.
Qualche soluzione o bug rilevato?


 Qualche soluzione o bug rilevato?
Spiacente, per ora non ho avuto la pazienza necessaria. Come
procede?


 procede?
Ho aggirato il problema con me.hide e me.show...
vorrei conoscere le soluzioni... ^^
