2010-04-15 14 views
0
if (b->InvokeRequired) { 
    FuncDelegat^ as = gcnew FuncDelegat(funct1); 
    b->Invoke(as,nullptr); 
    return; 
} 

Pourquoi ce code ne peut pas la fonction d'appel funct1méthode Invoke de ui

+0

parce appel funct1 pas appeler le – fabrizioM

Répondre

1

funct1 est pas appelée si InvokeRequired retourne false. CORRECTEMENT:

 
    if (b->InvokeRequired) 
    { 
     FuncDelegat^ as = gcnew FuncDelegat(funct1); 
     b->Invoke(as,nullptr); 
    } 
    else 
    { 
     b->funct1(nullptr); 
    } 
    return; 
+0

je l'ai ajouté au code, mais un appel de fonction pendant un drapeau ne se produit pas. – Xaver

+0

Veuillez fournir plus d'informations: qu'est-ce que b, type de délégué, définition de funct1, etc. –

+0

b il s'agit d'une classe Form. Je crée un nouveau thread qui doit fonctionner avec Form. Pour cela j'ai une fonction funct1. Le délégué FuncDelegat: delegate void FuncDelegat(); – Xaver