Laden...

Aufruf mit AsyncCallback

Erstellt von f.ritz vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.856 Views
f.ritz Themenstarter:in
341 Beiträge seit 2004
vor 17 Jahren
Aufruf mit AsyncCallback

Hallo zusammen!

Ich habe ein Problem mit einen externen Assembly, und zwar möchte ich folgende Funktion aufrufen:
Julmar.Atapi.TapiCall.BeginAnswer(System.AsyncCallback,object);

Im Beispielcode finde ich fiolngenden Aufruf:

TapiCall call = GetActiveCall();
....
call.BeginAccept(
     delegate(IAsyncResult ar)
      {
           try
            {
                 call.EndAccept(ar);
             }
             catch (TapiException ex)
             {
                  LogError(ex.Message);
              }
        }, null);

Nur leider kommt bei mir folgende Fehlermeldung:
Argument '1': cannot convert from 'anonymus method' to 'System.AsyncCallback'

Woran liegt denn das?

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo f.ritz

tja, eigentlich blöd, weil der Compiler ja eigentlich erkennen kann, ob der Delegat eine passende Signatur hat, aber man kommt wohl nicht drum rum, auf den verlangten Delegattyp zu casten.

herbivore

f.ritz Themenstarter:in
341 Beiträge seit 2004
vor 17 Jahren

Das habe ich auch schon gedacht, aber folgendes Code:

call.BeginAnswer((System.AsyncCallback)delegate(IAsyncResult ar)
                {
                    try
                    {
                        call.EndAnswer(ar);
                    }
                    catch (TapiException ex)
                    {
                        return false;
                    }
                }, null);

bringt dann folgende Fehlermeldung:

Error 1: Cannot convert anonymous method block to delegate type 'System.AsyncCallback' because some of the return types in the block are not implicitly convertible to the delegate return type
Error 2: Since 'System.AsyncCallback' returns void, a return keyword must not be followed by an object expression

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo f.ritz,

naja, in der Fehlermeldung steht doch auch genau das Problem: return false statt richtig nur return.

Siehe bitte Syntaxfehler selbst lösen (Compilerfehlermeldungen)

herbivore

f.ritz Themenstarter:in
341 Beiträge seit 2004
vor 17 Jahren

Sorry,
war wohl zu voreilig =)