29. april 2003 - 11:30Der er
12 kommentarer og 1 løsning
JNi kan ikke køre asynkron funktion i c++
Jeg har lavet et jni, og en c++ programm, da vores c++ program er lavet til Symbian styresystemet, er der benyttelse af asynkrone kald i et specifikt objekt, når vi opretter dette objekt i c++, går vores applikation ned. Er der nogen mulighed for at det kan lade sig gøre at køre noget asynkront i et jni, eller er det en i forvejen umulig opgave.
Men et gæt (baseret på lignende problem-stillinger) vil være at et C++ main program sætter forskellige ting op, som et Java main program ikke gør, og C++ koden kaldt via JNI fejler fordi det den forventer er sat op ikke er sat op.
Øhh det ved jeg ikke lige helt hvad jeg skal svare på. Vores c++ proramm virker fint uden jni...men når jni sættes til...eller vi kompiler og linker det til en dll, så er der problemer. Hvis det virker uden jni hvorfor virker det så ikke med...der er jo ikke den store foreskel....
Det er ikke helt det der er mit problem. Jeg kan godt få selv jni til at virke med jeg skal udkommentere oprettelsen af et objekt der er defineret i symbian. Dette objekt køre asynkront og vi forventer et asynkront kaldt tilbage. Men denne oprettelse kan ikke lade sig gøre. Jeg har selv lavet et objekt der kørte asynkront og det var den samme fejl jeg fik, nu er det altsammen udkommenteret, både mit eget og det der er lavet til symbian.
Jeg skal jo huske at gøre opmærksom på at JNI VIRKER. Det vil sige at der er hul igennem fra Java til C++, men det er når et objekt der køre asynkront bliver oprettet. Dette giver en fejl der lyder således..
"This panic is raised by the Start(), Stop() and Add() member functions of an active scheduler, a CActiveScheduler. It is caused by attempting to start or stop an active scheduler or by attempting to add an active object, a CActive, to the active scheduler." Citat slut... Hvad siger i så.
Ja så er problemet løst. Det viser sig at et CActive objekt altid skal have en active scheduler installeret, for at kunne køre asynkront. Dette var mit problem...længe leve Symbian...eller ikke helt... Eller tak for hjælpen drenge...men så længe i ikke ved noget om symbian så var det vist bestemt at i ikke kunne hjælpe.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.