PDA

Ver la Versión Completa : Datamodule, componentes en Aplicación de Consola


rrf
21-08-2003, 10:13:31
:confused:
Hola a todos/as.

Tengo que adaptar una aplicación de consola (Console Application) incluyéndole 2 componentes no visuales para calcular un password. Los componentes los he añadido al programa en un DataModule. Inicialmente la aplicación de consola solo tenía Units y funcionaba bien.

Mientras no se empleen los componentes todo va bien en el programa; pero, cada vez que utilizo alguno de los 2 componentes para lo que sea (pasarles un string, calcular un password, etc.) me da un error de este tipo:

Project DelphiEXE raised exception class EAccessViolation with message
'Access Violation at address 0044873E in module 'DELPHIEXE.EXE'. Read of address
FFFFFFFF'. Process stopped. Use Step o Run to continue.

Quisiera saber si: ¿Es posible usar un DataModule con componentes no visuales en una Aplicación de Consola? y, si es posible, ¿Cual puede ser el fallo que estoy cometiendo?.

Utilizo Delphi 5.0 Pro.

Muchas gracias de antemano

Ramón.
:confused:

delphi.com.ar
21-08-2003, 15:59:06
¿Has creado el DataModule antes de usarlo?.. ¿Porqué no creas los componentes en Runtime y te olvidas de usar un DataModule?

Saludos!

rrf
22-08-2003, 13:58:09
Muchas gracias delphi.com.ar

He aplicado lo de crear los componentes en runtime y he podido utilizar uno de ellos sin problemas (por ahora).

Sin embargo, el otro componente (Tmxprotector) tiene un evento que tengo que usar y que llama a un procedimiento que no sé como reproducir creándolo en runtime; además, al compilar, delphi me pide la localización del archivo PAS de ese componente (que no lo tengo, pues el autor no lo incluye). :mad:

Total, que lo voy a dejar pendiente y voy a tratar de seguir otro camino.

Dicen que "lo que no te mata, te fortalece...". Y este asunto me ha servido al menos para aprender a crear componentes en runtime. ;)

De nuevo muchas gracias delphi.com.ar.

Ramón.

rrf
22-08-2003, 14:32:34
:) Bueno, las cosas han cambiado.

He vuelto a usar el DataModule, lo he creado en runtime (El DataModule incluye los 2 componentes y el procedimiento que no sabía reproducir en runtime).

Luego he creado los 2 componentes en runtime y,... ¡SORPRESA! , ha funcionado.

¿Por qué no funcionaba antes?. Creo que creaba los componentes de forma incorrecta, aunque no aparecía ningún error con el Syntax Check.

De nuevo, muchas gracias delphi.com.ar y un saludo para to2/as.

Ramón.:)

delphi.com.ar
22-08-2003, 15:46:22
Pese que ya has solucionado tu problemas, te voy a comenta soluciones posibles, solo para que las conozcas:

Posteado originalmente por rrf
Muchas gracias delphi.com.ar
Sin embargo, el otro componente (Tmxprotector) tiene un evento que tengo que usar y que llama a un procedimiento que no sé como reproducir creándolo en runtime;
Para esto te recomiendo leer este hilo: http://www.clubdelphi.com/foros/showthread.php?s=&threadid=3102


Posteado originalmente por rrf
Muchas gracias delphi.com.ar
delphi me pide la localización del archivo PAS de ese componente
Delphi siempre te pide que el archivo sea un PAS, pero puedes utilizar un DCU que no es mas que un PAS compilado, o en algunos casos, por ejemplo al compilar paquetes, solo será necesario que tengas el DCP y la BPL del paquete que contiene esa unit.

Saludos!

rrf
26-08-2003, 18:58:18
Otra vez, muchas gracias delphi.com.ar

Ramón