Salve a tutti.

E' da qualche giorno che mi sono accorto di un piccolo ma strano errore di runtime all'interno della mia applicazione segnalato principalmente da chi la utilizza su Windows XP.

Ho utilizzato un controllo utente per i command button che se non sbaglio trovai su VBCorner realizzato da Mirko Marchese ( sempre se non sbaglio ).
Il controllo funziona correttamente ed è molto valido ma presenta questo piccolo problema. All'apertura di qualsiasi form contenga il componente ovviamente il controllo esegue tutto il suo codice per generare il bottone ed il suo stile grafico, capita di tanto in tanto che generi questo errore

Runtime Errror 398 - Client site not available

sono riuscito a generare l'errore navigando tra i form ed ho visto che dipende da questa porzione di codice

codice:
Private Sub Draw3DEffect()
    If Not Ambient.UserMode Then
        If m_ButtonStyle = gbWinXP Then
                DrawWinXPButton 0
        ElseIf m_ButtonStyle = gbOfficeXP Then
                XPAdjustColorScheme
        Else
            If m_BEVEL < 2 Then
                DRAWRECT hdc, 0, 0, ScaleWidth, ScaleHeight, &H80000010
                DRAWRECT hdc, 0, 0, ScaleWidth + 1, ScaleHeight + 1, &H80000014
            Else
                RunXTRA3D COLOR_UniColor(UserControl.BackColor), m_BEVEL, BEVELDEPTH
            End If
        End If
    Exit Sub
    End If
a quanto pare , più precisamente, da questa riga

codice:
If Not Ambient.UserMode Then
Documentandomi in rete ho letto che l'errore potrebbe scaturire dal fatto che Vb6 cerca di creare un oggetto sul form che ancora non è stato completamente inizializzato.
Ho aperto questo topic per chiedervi aiuto nel capire da cosa derivi realmente questo errore.

Ciao a tutti.
Buona Giornata !