Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Problemas al crear una aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=5953)

aip 12-12-2003 02:28:25

Problemas al crear una aplicacion
 
Tengo el código siguiente:


function muestraAAgricola(aHandle:THandle;opcion:integer):boolean;stdCall;
var
resultado:boolean;
begin
resultado := true;
Application.Handle := aHandle;
try
try
DMBDSiap := TDMBDSiap.Create(Application); // Aquí marca el error
FrmAAgricola := TFrmAAgricola.Create(Application);
FrmAAgricola.tomaOpcionAnuario(TAnuario(opcion));
DMBDSiap.conectaABDAAgricola(TAnuario(opcion));
FrmAAgricola.ShowModal;
except
showMessage('Hay errores para abrir el módulo');
end;
finally
DMBDSiap.Free;
FrmAAgricola.Free;
end;
result := resultado;
end;

En la línea donde está comentario marca el siguiente error:

Debugger Exception Notification
Project dprAAgricola.exe raised exception class EOleSysError with message ‘No se ha llamado a CoInitialize. Process stopped. Use Step or Run to continue.

Mi pregunta es ¿Qué pasa?

Creo las aplicaciones de esta forma y no de la siguiente manera:
Application.createForm(TDMBDSiap,DMBDSiap)
porque según el libro de Teixeira es mejor el que uso que el que crea delphi por default cuando trabajo con DLL's.

roman 12-12-2003 02:52:59

CoInitialize es necesaria para cualquier cosa que use COM y normalmente Delphi se encarga de llamarla. Quizá por la forma en que construyes el objeto Delphi no ha llamado a la función. Puedes hacerlo tú mismo:

CoInitialize(nil)

Debes incluir la unidad ActiveX.

// Saludos

aip 13-12-2003 01:01:11

Muchas gracias Roman. Sí funcionó así como me dices
:) :) :)


La franja horaria es GMT +2. Ahora son las 05:46:36.

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