Problem in C++/CLI : candidate function(s) not accessible
-
bin dabei mir in c++ einen tapi wrapper zu schreiben.
nun habe ich folgendes problem:
es kommt beim compilieren der fehler candidate function(s) not accessible obwohl alle unterelemente public sind.Etwas näher zur struktur:
Ich nutze die Callnot.h von Microsft für die Tapi Events. Diese Klasse darin hat zusätzlich ein Objekt: gcrootTapi3Wrapper::TAPI3^ managedTAPI; damit sie auf die Funktionen meiner aktuellen Tapi3Wrapper instanz zugreifen kann. Nun will ich aus der unmanged funktion CTAPIEventNotification::Event welche in Callnot.h deklaiert ist, ein event in meiner manged TAPI aufrufen: managedTAPI->TapiObjectEvent(managedTAPI, myEA); doch dann kommt dieser fehler...
weiss jemand einen rat???
-
Ohne Code kann man Dir vermutlich nicht helfen... ich habe es Dir ja gezeigt wie es mit dem Callback geht...
-
Hab den Quellcode mal hier abgelegt: http://jochensserver.dyndns.org/wrapper.zip
Vieleicht kann ja jemand mal nachschauen...
-
Ich kann die ZIP-Datei nicht öffnen...
-
kann ich nicht verstehen...
-
Jetzt geht es...
Bzgl "event" musst Du verstehen, dass eigentlich ein "event" aus *drei* Methoden besteht:
- add
- remove
- raiseUnd "add" und "remove" haben dabei genau diese "visibility" wie angegeben (also in Deinem Fall "public" und "raise" ist *immer* private. Somit kannst Du nie von extern ein Event in einer anderen Klasse auslösen!
Fazit:
Mache für jeden Event eine Funktion der Art:void FireTapiObjectEvent(Object^ sender, TAPIEventArgs^ e) { TapiObjectEvent(sender, e); }
und rufe dann diese auf:
managedTAPI->FireTapiObjectEvent(managedTAPI, myEA);
-
Danke schonmals für die Info. Werds testen...
-
danke... geht nun alles...