Duke49
Messages postés552Date d'inscriptionjeudi 12 octobre 2006StatutNon membreDernière intervention24 janvier 2023
-
27 mars 2009 à 11:59
Duke49
Messages postés552Date d'inscriptionjeudi 12 octobre 2006StatutNon membreDernière intervention24 janvier 2023
-
27 mars 2009 à 21:18
Coucou,
ça fait assez longtemps que je cherche une solution pour ce problème.
Que j'associe l'objet ou non, les IsNull, IsObject, IsMissing... ne me renseigne pas correctement
sur l'état de l'objet. C'est égale a Empty ou Nothing mais impossible de faire une comparaison !
Genre: Si MonObjetForm est égale à Nothing alors... Sinon...
Voici un bout de code
Dim oForm as Form
'Je l'associe pas: Set oForm = frmMain
'Je souhaite récupérer le nothing
If IsEmpty(oForm) = False Then
MsgBox "Un parametre obligatoire est absent !", vbCritical + vbOKOnly, "Erreur"
Exit Sub
Else
Msgbox "Objet ok: " & oForm.Hwnd
End If
A voir également:
Comment savoir si une variable objet a été associée ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 mars 2009 à 16:18
Salut
En effet, ce n'est pas toujours facile.
En fait, il te suffit de regarder dans la collection parent "Forms" :
Dim bTrouvé As Boolean
Dim xx As Object
For Each xx In Forms
If xx.Name = "frmMain" Then
bTrouvé = True
Exit For
End If
Next
If bTrouvé Then MsgBox "Twingo !"
Je n'ai pas trop compris le lien que tu fais entre cette forme et un paramètre ...
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Duke49
Messages postés552Date d'inscriptionjeudi 12 octobre 2006StatutNon membreDernière intervention24 janvier 20234 27 mars 2009 à 17:24
Je suis pas assez clair... désolé.
Je ne connait pas le nom de la form, j'en ai d'ailleur pas besoin.
Je explique avec un code de la situation:
(je peux pas mettre mon code sa va être confus et trop grand a lire)
'BOUTON
Dim myTest as typTest
Set myTest = frmConfig
Call MaFonction(myTest)
-------------------------------------
'MODULE
Public Type typTest
oForm as Form
End Type
Public Sub MaFonction(ByRef tzTest As typTest)
If tzTest.oForm = Nothing then
Msgbox "Erreur Objet !"
exit sub
End If
'On a notre pointeur sur cette feuille inconnue
'Donc je peux par exemple...
With tzTest.oForm
.Background = vbBlack
.Caption = "Coucou"
FonctionApi1(.Hwnd)
FonctionApi2(.Hdc)
End With
End sub