0
Je suis nouveau dans le monde C#. J'ai un serveur COM écrit en C++ et dans certains cas il renvoie un variant_t :: missing(). Lorsque je tente de recevoir cette valeur en C#:Comment gérer la variante manquante
object a;
a = comServer.Value // Value returns missing
il lance une exception que je ne peux pas poignée d'événements en C#.
Comment je devrais faire?
Il ne fonctionne pas. L'exception est finalement interceptée par le code C++ où l'événement COM est déclenché. –
Je suis confus par votre référence à un événement. Si vous parcourez le code, l'erreur se produit-elle lorsque vous exécutez l'objet a = comServer.Value? Avez-vous quelque chose en retour, même un null? – jac
Le code en C++ de get_Value retourne variant_t :: missing() mais C# ne termine pas l'exécution de l'objet ligne a = comServer.Value donc je ne vois rien dans a car une exception est déclenchée dans le code C++. Le serveur COM C++ déclenche un événement, dans ce cas, le code C# exécute ce code et l'exception est finalement interceptée par le code C++ en ignorant la section C# try catch. –