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 !