Método C ++ chamado de DLL retorna dados da chamada anterior na extensão do Adobe Air Native

StackOverflow https://stackoverflow.com/questions/9457009

Pergunta

Estou experimentando um problema estranho. Eu escrevi uma extensão nativa para o Adobe Air App. É código C ++ compilado na DLL com VS2010. Eu tenho um método ao qual eu passo uma matriz de números e, em seguida, recebo uma matriz de resultados. Primeiro tempo eu chamo esse método devolver a matriz correta com dados corretos e comprimento. Mas se euLigue para esse método em uma linha duas vezes, segunda vez a matriz contém os dois dados da primeira chamada e do segundo.it é como se a DLL cache os dados da chamada anterior. Eu limpar tudo para cima.talam todas as variáveis.são locais e limpos / destruídos uma vez que a chamada do método termine.Pode ser que minhas configurações para a compilação DLL estão erradas como eu não sou C ++ Guru. Obrigado por ajuda antecipadamente.

Atualização: Eu encontrei a solução. Tive que fazer com "extern" c "" wrapper que eu esqueci de adicionar aos meus métodos C ++.

Foi útil?

Solução

Eu encontrei a solução. Tive que fazer com "extern" c "" wrapper que eu esqueci de adicionar aos meus métodos C ++.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top