![]() |
problema con componente com
tengo un objeto com en delphi (es del tipo Automation object)
en la seccion donde se implementan las funciones, tengo el caso de una funcion que hace una llamada a una funcion de un dll. Este objeto com me genera un dll que registro. el problema es que al registrar el dll (el objeto com) me lo registra y luego me da el error: La instruccion en "0x0000000" hace referencia a la memoria en "0x00000000" la memoria no se puede "written". Lo extraño es que el error me da solo cuando hago la llamada a esa función de ese otro dll. |
Hola. Por lo que se ve estas intentando acceder a algun objeto que no has dado memoria anteriormente, o bien lo has liberado antes de la llamada. Usando el debugger (f5,f7,f8) sabras exactamente en que linea te salta. Si puedes poner el codigo donde te salta quiza podamos ayudarte mejor. Saludos.
|
problema con componente com (2)
Este es un estracto del codigo que estoy usando. no lo puedo debugiar por ser dll
pero la diferencia es cuando quito y pongo la "linea problema" la cual se muestra en el codigo. muchas gracias desde ya por la ayuda. Public ... ... function obtenerDato(prmser,prmusuario,prmmsg:OleVariant): Widestring:safecall; end; function ObtenerCalculoWeb (prmdec,prmcorrel,prmefec:Pchar): Integer; stdcall; external 'Calculoweb.dll' name 'ObtenerCalculoweb'; implementation .... ... Function TClassDatos.obtenerDato(prmser,prmusuario,prmmsg:OleVariant): Widestring var resultado:integer begin .... .... resultado:=ObtenerCalculoWeb(prmdec,prmcorrel,prmefec); {linea problema} .... .... end; |
Todos los PChar son diferentes de nil? si no es eso, es que la funcion esta mal programada. Si pudieras poner su codigo...
|
si son diferentes del nil. la situación es que yo no tengo el codigo del dll que tiene las funciones que uso en este caso (solo me dieron el dll). Lo raro es que utilicé este mismo codigo solo que para un programa con una forma normal y alli si me funciona y no me da ningun error. El problema es para este que es un dll
|
:confused: es un poco aventurar pero... es probable que cuando la usases sin ser dll la usases tambien con objetos globales a los que dabas memoria por otro lado? o que exista alguna funcion tipo IniciarCalculoWeb
|
voy a revisar el codigo y tomar en cuenta tus sugerencias.
muchas gracias |
La franja horaria es GMT +2. Ahora son las 23:52:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi