Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   No se ha llamado a CoInitialize (https://www.clubdelphi.com/foros/showthread.php?t=65359)

newlink 08-12-2009 18:40:18

No se ha llamado a CoInitialize
 
Hola a todos. Tengo dos aplicaciones en las cuales cada una posee un Object Automation, la aplicacion A es un servicio el cual se ejecuta sin ningun problema y a su vez desde la aplicacion B puedo comunicarme con las funciones que exporta la aplicacion A sin ningun problema. El lio se forma cuando la aplicacion A (servicio) llama a una de las funciones que exporta la aplicacion B.
Código Delphi [-]
procedure CoApplicationACom.LlamarAppB;
 begin
  CoApplicationBCom.create.funcion1; // Aqui surge el error.
 end;

Error
raised exception class EOleSysError with message 'No se ha llamado a CoInitialize' .

he consultado en otros hilos los cuales me han sugerido la insercion de esta linea de codigo
Código Delphi [-]
Application.initalize
pero ya la tengo.

por favor les ruego que me disculpen las molestias que les pueda causar asi como les agradeceria el tiempo que le dediquen a mi problema.

droguerman 09-12-2009 04:23:10

tienes que llamar así:
Código Delphi [-]
 CoInitialize(nil);

newlink 09-12-2009 14:16:41

Sigo con errores
 
Gracias Droguerman.

Ya habia probado de esa manera, no obstante acepte tu sugerencia y lo intente una vez mas, ahora el mensage de error que muestra es :

raised exception class EOleSysError with message 'Error Catastrofico'

sigo sin entender el porque de estos errores, si alguien conoce del tema o tiene alguna referencia de algun documento se lo agradecere.

Una vez mas gracias para ti Droguerman y por tu tiempo.

droguerman 10-12-2009 03:17:53

pareciera una violación de segmento, intenta (pseudocódigo):
Código Delphi [-]
c := CoApplicationBCom.create;
if not (c = nil) then c.funcion1;

newlink 10-12-2009 15:08:23

Esta funcion CoInitializeSecurity tendra que ver con mi problema.
 
Hola Droguerman gracias una vez mas, pero sigo con el mismo error, no obstante me puse a indagar en la aplicacion A, ahora en la programacion de este servicio encuentro estas lineas de codigo:
Código Delphi [-]
TservAplic = class(TService)
.
..
...

initialization
  CoInitialize(nil);
  CoInitializeSecurity (nil, -1, nil, nil, 1, 1, nil, 0, nil);  // Aqui mi duda
finalization
  CoUninitialize;
End.

Con respecto a la funcion CoInitializeSecurity no estoy nada claro del funcionamiento de la misma, no se si esto me pueda estar afectando.

Ya probe con otra aplicacion y me comunico muy bien con la aplicacion B, no se si es porque esta dichosa aplicacion A sea un servicio y haya algo especifico para estos casos que este ignorando.
Seguire buscando informacion de estos errores y de la duda que he panteado.


La franja horaria es GMT +2. Ahora son las 01:48:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi