Ciao a tutti.
Da quello che sono riuscito a capire documentandomi il problema derivava proprio da quello che pensavo. Il controllo utente tentava di creare il bottone quando il form era ancora in fase di Run Time e quindi generava un errore.
Per ora ho gestito l'errore ed ovviamente il problema è risolto ma non nella maniera migliore
codice:
Private Sub Draw3DEffect()
On Error GoTo retry
retry:
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
In questo modo se il controllo riceve un errore ritenta la creazione del comando e ovviamente riesce perché il form è stato correttamente caricato. Nel mentre cercherò di migliorare il codice del controllo per risolvere definitivamente il problema.
Oltretutto questo controllo XpBs.ctl è introvabile in rete sparito dalla circolazione !
Ciao a tutti e grazie mille.