Pergunta

Já pediu na Bolsa mal, mas como sempre que não era nenhuma ajuda. Eu estou tendo esse problema hoje:

Ao criar um suporte de aplicações web sozinho usando IntraWeb, eu recebo esta exceção no IDE quando eu tento testar uma sessão do meu aplicativo no navegador:

Primeira chance exceção em US $ 7C812A6B. classe de exceção EOleSysError com mensagem 'CoInitialize não foi chamado'. WebContactManager.exe processo (1112)

Se eu clique em "continuar" na caixa de diálogo exceção IDE, o próprio navegador só mostra:

200 OK

... em vez dos controles no meu formulário principal.

Este erro não parece ocorrer quando eu substituir ADO com outros componentes de banco de dados, tais como dbExpress ou BDE.

O que é esse erro me dizendo, e como faço para corrigir isso?

(Note que estou usando o estoque "VCL para a Web" componentes intraweb que vêm embutidos com D2007).

Agradecemos antecipadamente para toda e qualquer ajuda!

Foi útil?

Solução

A "solução" previsto no o link que você citou é basicamente errado ou pelo menos incompleta. Só através da criação ServerController.ComInitialization para ciMultiThreaded a verdadeira IW vai gurantee que todas fio vai ficar COM inicializado corretamente. (Por exemplo, pensar sobre retornos de chamada Ajax)

Se você criar seus próprios tópicos personalizados, então você terá que chamar CoInitialize para esse segmento em seu próprio embora -. Como IntraWeb não sabe sobre seus segmentos personalizados

Outras dicas

Só encontrei uma resposta a esta aqui :

Eu encontrei uma solução mais elegante como o problema todo se originou de usar Intraweb, eu prefiro ter intraweb para Inicializar com para mim. Isso classifica-lo out bem.

Ao usar o MS SQL DBExpress condutor ou condutor ADO com IntraWeb, você deve definir o ComInitialization propriedade no ServerController para ‘CiMultiThreaded’.

Esta vontade elimina a "CoInitialize não foi chamado" erro.

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