Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.comp.lenguajes.* Foro > Newsgroup es.comp.lenguajes.delphi
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 24-02-2004, 23:51:58
jotajota
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

En alguna llamada a la Dll utilizas strings ?

--
-
"Deberiamos llegar a ser lo que creemos que ya somos"
EchM#828
Sector Gazpacho

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c18h6n$5vk1***eui1nw.euskaltel.es...
> Tengo un problema cuya solución no consigo dar, y es el siguiente:
>
> Suponiendo una aplicación y una librería dll ambas creadas por mi con
> Delphi 7, la aplicación implementa un objeto compuesto por una lista
> (TList) de punteros a registros formados por una serie de variables. La
> aplicación llama a una función de la librería pasando ese objeto TList
> por referencia. Esta función se encarga de crear unos 5 registros
> mediante system.new(Registro) y añadir el puntero de cada registro a la
> lista. Finalizada la función, el programa dispone de los 5 registros y
> accede a ellos a través de los punteros que contiene el TList.
> Posteriormente elimina los registros mediante un
> dispose(tlist.items[contador]).
>
> Hasta aquí todo funciona correctamente. Los registros se eliminan y
> finalmente se limpia la lista con un clear en TList. El problema viene
> si se intenta llamar a la función de la librería por segunda vez. La
> función vuelve a retornar los 5 registros y están perfectamente
> referenciados sus punteros en el TList. La aplicación los recibe
> correctamente igual que la primera vez. Pero al eliminar de nuevo los
> registros, al hacer un dispose en el último registro (y siempre es en el
> último registro) la aplicación genera un error de excepción del tipo
> EInvalidPointerOperation.
>
> Una vez depurado, me consta que ese último puntero se apunta
> correctamente al último registro. La función system.new en la librería
> no falla (se comprueba), se añade correctamente el puntero a la lista y
> depurando la aplicación veo correctamente todos los registros apuntados
> por la lista de punteros justo antes de proceder a su "dispose". Sin
> embargo por razones que desconozco siempre falla en el último puntero,
> que a simple vista es válido. La creación, edición y eliminación de los
> registros es similar tanto en la aplicación como en la librería ya que
> ambos usan la misma unidad desarrollada por mi. Si repito esa operación
> de forma autónoma, es decir, si desde la propia aplicación, creo y
> elimino dichos registros, todo funciona correctamente. Luego no es error
> del código (en principio)...
>
> ¿Es eso un error de delphi? ¿De Windows XP? ¿Un error de concepto por mi
> parte en el tratamiento de datos trabajando con librerías dll?
>
>
> Saludos, JKD



Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 25-02-2004, 12:10:51
JKD
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

Los registros que se crean en la dll mediante system.new están formados
en principio por un tipo record que contiene una variable de tipo string
y otra de tipo variant (usado para almacenar, dependiendo del caso, un
booleano, integer o string). Probé a usar sharemem como indica la ayuda
de d7 pero el resultado es el mismo. Probé también a sustituir la
variable string por un array [0.255] de tipo char e incluso ese variant
por variables Boolean, Integer y array [0..255] of char pero falla
igualmente.

Saludos, JKD

jotajota wrote:

> En alguna llamada a la Dll utilizas strings ?
>
> --
> -
> "Deberiamos llegar a ser lo que creemos que ya somos"
> EchM#828
> Sector Gazpacho
>
> "JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
> news:c18h6n$5vk1***eui1nw.euskaltel.es...
>
>>Tengo un problema cuya solución no consigo dar, y es el siguiente:
>>
>>Suponiendo una aplicación y una librería dll ambas creadas por mi con
>>Delphi 7, la aplicación implementa un objeto compuesto por una lista
>>(TList) de punteros a registros formados por una serie de variables. La
>>aplicación llama a una función de la librería pasando ese objeto TList
>>por referencia. Esta función se encarga de crear unos 5 registros
>>mediante system.new(Registro) y añadir el puntero de cada registro a la
>>lista. Finalizada la función, el programa dispone de los 5 registros y
>>accede a ellos a través de los punteros que contiene el TList.
>>Posteriormente elimina los registros mediante un
>>dispose(tlist.items[contador]).
>>
>>Hasta aquí todo funciona correctamente. Los registros se eliminan y
>>finalmente se limpia la lista con un clear en TList. El problema viene
>>si se intenta llamar a la función de la librería por segunda vez. La
>>función vuelve a retornar los 5 registros y están perfectamente
>>referenciados sus punteros en el TList. La aplicación los recibe
>>correctamente igual que la primera vez. Pero al eliminar de nuevo los
>>registros, al hacer un dispose en el último registro (y siempre es en el
>>último registro) la aplicación genera un error de excepción del tipo
>>EInvalidPointerOperation.
>>
>>Una vez depurado, me consta que ese último puntero se apunta
>>correctamente al último registro. La función system.new en la librería
>>no falla (se comprueba), se añade correctamente el puntero a la lista y
>>depurando la aplicación veo correctamente todos los registros apuntados
>>por la lista de punteros justo antes de proceder a su "dispose". Sin
>>embargo por razones que desconozco siempre falla en el último puntero,
>>que a simple vista es válido. La creación, edición y eliminación de los
>>registros es similar tanto en la aplicación como en la librería ya que
>>ambos usan la misma unidad desarrollada por mi. Si repito esa operación
>>de forma autónoma, es decir, si desde la propia aplicación, creo y
>>elimino dichos registros, todo funciona correctamente. Luego no es error
>> del código (en principio)...
>>
>>¿Es eso un error de delphi? ¿De Windows XP? ¿Un error de concepto por mi
>>parte en el tratamiento de datos trabajando con librerías dll?
>>
>>
>>Saludos, JKD

>
>
>

Responder Con Cita
  #3 (permalink)  
Antiguo 25-02-2004, 12:10:51
JKD
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

Los registros que se crean en la dll mediante system.new están formados
en principio por un tipo record que contiene una variable de tipo string
y otra de tipo variant (usado para almacenar, dependiendo del caso, un
booleano, integer o string). Probé a usar sharemem como indica la ayuda
de d7 pero el resultado es el mismo. Probé también a sustituir la
variable string por un array [0.255] de tipo char e incluso ese variant
por variables Boolean, Integer y array [0..255] of char pero falla
igualmente.

Saludos, JKD

jotajota wrote:

> En alguna llamada a la Dll utilizas strings ?
>
> --
> -
> "Deberiamos llegar a ser lo que creemos que ya somos"
> EchM#828
> Sector Gazpacho
>
> "JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
> news:c18h6n$5vk1***eui1nw.euskaltel.es...
>
>>Tengo un problema cuya solución no consigo dar, y es el siguiente:
>>
>>Suponiendo una aplicación y una librería dll ambas creadas por mi con
>>Delphi 7, la aplicación implementa un objeto compuesto por una lista
>>(TList) de punteros a registros formados por una serie de variables. La
>>aplicación llama a una función de la librería pasando ese objeto TList
>>por referencia. Esta función se encarga de crear unos 5 registros
>>mediante system.new(Registro) y añadir el puntero de cada registro a la
>>lista. Finalizada la función, el programa dispone de los 5 registros y
>>accede a ellos a través de los punteros que contiene el TList.
>>Posteriormente elimina los registros mediante un
>>dispose(tlist.items[contador]).
>>
>>Hasta aquí todo funciona correctamente. Los registros se eliminan y
>>finalmente se limpia la lista con un clear en TList. El problema viene
>>si se intenta llamar a la función de la librería por segunda vez. La
>>función vuelve a retornar los 5 registros y están perfectamente
>>referenciados sus punteros en el TList. La aplicación los recibe
>>correctamente igual que la primera vez. Pero al eliminar de nuevo los
>>registros, al hacer un dispose en el último registro (y siempre es en el
>>último registro) la aplicación genera un error de excepción del tipo
>>EInvalidPointerOperation.
>>
>>Una vez depurado, me consta que ese último puntero se apunta
>>correctamente al último registro. La función system.new en la librería
>>no falla (se comprueba), se añade correctamente el puntero a la lista y
>>depurando la aplicación veo correctamente todos los registros apuntados
>>por la lista de punteros justo antes de proceder a su "dispose". Sin
>>embargo por razones que desconozco siempre falla en el último puntero,
>>que a simple vista es válido. La creación, edición y eliminación de los
>>registros es similar tanto en la aplicación como en la librería ya que
>>ambos usan la misma unidad desarrollada por mi. Si repito esa operación
>>de forma autónoma, es decir, si desde la propia aplicación, creo y
>>elimino dichos registros, todo funciona correctamente. Luego no es error
>> del código (en principio)...
>>
>>¿Es eso un error de delphi? ¿De Windows XP? ¿Un error de concepto por mi
>>parte en el tratamiento de datos trabajando con librerías dll?
>>
>>
>>Saludos, JKD

>
>
>

Responder Con Cita
  #4 (permalink)  
Antiguo 25-02-2004, 14:06:29
Jordi Giro \(ALVIC\)
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

Yo probaria de crear un objeto en lugar de un record y haces un create y un
free del objeto...

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c1i36c$cge2***eui1nw.euskaltel.es...
> Los registros que se crean en la dll mediante system.new están formados
> en principio por un tipo record que contiene una variable de tipo string
> y otra de tipo variant (usado para almacenar, dependiendo del caso, un
> booleano, integer o string). Probé a usar sharemem como indica la ayuda
> de d7 pero el resultado es el mismo. Probé también a sustituir la
> variable string por un array [0.255] de tipo char e incluso ese variant
> por variables Boolean, Integer y array [0..255] of char pero falla
> igualmente.
>
> Saludos, JKD
>
> jotajota wrote:
>
> > En alguna llamada a la Dll utilizas strings ?
> >
> > --
> > -
> > "Deberiamos llegar a ser lo que creemos que ya somos"
> > EchM#828
> > Sector Gazpacho
> >
> > "JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
> > news:c18h6n$5vk1***eui1nw.euskaltel.es...
> >
> >>Tengo un problema cuya solución no consigo dar, y es el siguiente:
> >>
> >>Suponiendo una aplicación y una librería dll ambas creadas por mi con
> >>Delphi 7, la aplicación implementa un objeto compuesto por una lista
> >>(TList) de punteros a registros formados por una serie de variables. La
> >>aplicación llama a una función de la librería pasando ese objeto TList
> >>por referencia. Esta función se encarga de crear unos 5 registros
> >>mediante system.new(Registro) y añadir el puntero de cada registro a la
> >>lista. Finalizada la función, el programa dispone de los 5 registros y
> >>accede a ellos a través de los punteros que contiene el TList.
> >>Posteriormente elimina los registros mediante un
> >>dispose(tlist.items[contador]).
> >>
> >>Hasta aquí todo funciona correctamente. Los registros se eliminan y
> >>finalmente se limpia la lista con un clear en TList. El problema viene
> >>si se intenta llamar a la función de la librería por segunda vez. La
> >>función vuelve a retornar los 5 registros y están perfectamente
> >>referenciados sus punteros en el TList. La aplicación los recibe
> >>correctamente igual que la primera vez. Pero al eliminar de nuevo los
> >>registros, al hacer un dispose en el último registro (y siempre es en el
> >>último registro) la aplicación genera un error de excepción del tipo
> >>EInvalidPointerOperation.
> >>
> >>Una vez depurado, me consta que ese último puntero se apunta
> >>correctamente al último registro. La función system.new en la librería
> >>no falla (se comprueba), se añade correctamente el puntero a la lista y
> >>depurando la aplicación veo correctamente todos los registros apuntados
> >>por la lista de punteros justo antes de proceder a su "dispose". Sin
> >>embargo por razones que desconozco siempre falla en el último puntero,
> >>que a simple vista es válido. La creación, edición y eliminación de los
> >>registros es similar tanto en la aplicación como en la librería ya que
> >>ambos usan la misma unidad desarrollada por mi. Si repito esa operación
> >>de forma autónoma, es decir, si desde la propia aplicación, creo y
> >>elimino dichos registros, todo funciona correctamente. Luego no es error
> >> del código (en principio)...
> >>
> >>¿Es eso un error de delphi? ¿De Windows XP? ¿Un error de concepto por mi
> >>parte en el tratamiento de datos trabajando con librerías dll?
> >>
> >>
> >>Saludos, JKD

> >
> >
> >



Responder Con Cita
  #5 (permalink)  
Antiguo 25-02-2004, 14:06:29
Jordi Giro \(ALVIC\)
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

Yo probaria de crear un objeto en lugar de un record y haces un create y un
free del objeto...

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c1i36c$cge2***eui1nw.euskaltel.es...
> Los registros que se crean en la dll mediante system.new están formados
> en principio por un tipo record que contiene una variable de tipo string
> y otra de tipo variant (usado para almacenar, dependiendo del caso, un
> booleano, integer o string). Probé a usar sharemem como indica la ayuda
> de d7 pero el resultado es el mismo. Probé también a sustituir la
> variable string por un array [0.255] de tipo char e incluso ese variant
> por variables Boolean, Integer y array [0..255] of char pero falla
> igualmente.
>
> Saludos, JKD
>
> jotajota wrote:
>
> > En alguna llamada a la Dll utilizas strings ?
> >
> > --
> > -
> > "Deberiamos llegar a ser lo que creemos que ya somos"
> > EchM#828
> > Sector Gazpacho
> >
> > "JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
> > news:c18h6n$5vk1***eui1nw.euskaltel.es...
> >
> >>Tengo un problema cuya solución no consigo dar, y es el siguiente:
> >>
> >>Suponiendo una aplicación y una librería dll ambas creadas por mi con
> >>Delphi 7, la aplicación implementa un objeto compuesto por una lista
> >>(TList) de punteros a registros formados por una serie de variables. La
> >>aplicación llama a una función de la librería pasando ese objeto TList
> >>por referencia. Esta función se encarga de crear unos 5 registros
> >>mediante system.new(Registro) y añadir el puntero de cada registro a la
> >>lista. Finalizada la función, el programa dispone de los 5 registros y
> >>accede a ellos a través de los punteros que contiene el TList.
> >>Posteriormente elimina los registros mediante un
> >>dispose(tlist.items[contador]).
> >>
> >>Hasta aquí todo funciona correctamente. Los registros se eliminan y
> >>finalmente se limpia la lista con un clear en TList. El problema viene
> >>si se intenta llamar a la función de la librería por segunda vez. La
> >>función vuelve a retornar los 5 registros y están perfectamente
> >>referenciados sus punteros en el TList. La aplicación los recibe
> >>correctamente igual que la primera vez. Pero al eliminar de nuevo los
> >>registros, al hacer un dispose en el último registro (y siempre es en el
> >>último registro) la aplicación genera un error de excepción del tipo
> >>EInvalidPointerOperation.
> >>
> >>Una vez depurado, me consta que ese último puntero se apunta
> >>correctamente al último registro. La función system.new en la librería
> >>no falla (se comprueba), se añade correctamente el puntero a la lista y
> >>depurando la aplicación veo correctamente todos los registros apuntados
> >>por la lista de punteros justo antes de proceder a su "dispose". Sin
> >>embargo por razones que desconozco siempre falla en el último puntero,
> >>que a simple vista es válido. La creación, edición y eliminación de los
> >>registros es similar tanto en la aplicación como en la librería ya que
> >>ambos usan la misma unidad desarrollada por mi. Si repito esa operación
> >>de forma autónoma, es decir, si desde la propia aplicación, creo y
> >>elimino dichos registros, todo funciona correctamente. Luego no es error
> >> del código (en principio)...
> >>
> >>¿Es eso un error de delphi? ¿De Windows XP? ¿Un error de concepto por mi
> >>parte en el tratamiento de datos trabajando con librerías dll?
> >>
> >>
> >>Saludos, JKD

> >
> >
> >



Responder Con Cita
  #6 (permalink)  
Antiguo 25-02-2004, 14:06:29
Jordi Giro \(ALVIC\)
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

Yo probaria de crear un objeto en lugar de un record y haces un create y un
free del objeto...

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c1i36c$cge2***eui1nw.euskaltel.es...
> Los registros que se crean en la dll mediante system.new están formados
> en principio por un tipo record que contiene una variable de tipo string
> y otra de tipo variant (usado para almacenar, dependiendo del caso, un
> booleano, integer o string). Probé a usar sharemem como indica la ayuda
> de d7 pero el resultado es el mismo. Probé también a sustituir la
> variable string por un array [0.255] de tipo char e incluso ese variant
> por variables Boolean, Integer y array [0..255] of char pero falla
> igualmente.
>
> Saludos, JKD
>
> jotajota wrote:
>
> > En alguna llamada a la Dll utilizas strings ?
> >
> > --
> > -
> > "Deberiamos llegar a ser lo que creemos que ya somos"
> > EchM#828
> > Sector Gazpacho
> >
> > "JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
> > news:c18h6n$5vk1***eui1nw.euskaltel.es...
> >
> >>Tengo un problema cuya solución no consigo dar, y es el siguiente:
> >>
> >>Suponiendo una aplicación y una librería dll ambas creadas por mi con
> >>Delphi 7, la aplicación implementa un objeto compuesto por una lista
> >>(TList) de punteros a registros formados por una serie de variables. La
> >>aplicación llama a una función de la librería pasando ese objeto TList
> >>por referencia. Esta función se encarga de crear unos 5 registros
> >>mediante system.new(Registro) y añadir el puntero de cada registro a la
> >>lista. Finalizada la función, el programa dispone de los 5 registros y
> >>accede a ellos a través de los punteros que contiene el TList.
> >>Posteriormente elimina los registros mediante un
> >>dispose(tlist.items[contador]).
> >>
> >>Hasta aquí todo funciona correctamente. Los registros se eliminan y
> >>finalmente se limpia la lista con un clear en TList. El problema viene
> >>si se intenta llamar a la función de la librería por segunda vez. La
> >>función vuelve a retornar los 5 registros y están perfectamente
> >>referenciados sus punteros en el TList. La aplicación los recibe
> >>correctamente igual que la primera vez. Pero al eliminar de nuevo los
> >>registros, al hacer un dispose en el último registro (y siempre es en el
> >>último registro) la aplicación genera un error de excepción del tipo
> >>EInvalidPointerOperation.
> >>
> >>Una vez depurado, me consta que ese último puntero se apunta
> >>correctamente al último registro. La función system.new en la librería
> >>no falla (se comprueba), se añade correctamente el puntero a la lista y
> >>depurando la aplicación veo correctamente todos los registros apuntados
> >>por la lista de punteros justo antes de proceder a su "dispose". Sin
> >>embargo por razones que desconozco siempre falla en el último puntero,
> >>que a simple vista es válido. La creación, edición y eliminación de los
> >>registros es similar tanto en la aplicación como en la librería ya que
> >>ambos usan la misma unidad desarrollada por mi. Si repito esa operación
> >>de forma autónoma, es decir, si desde la propia aplicación, creo y
> >>elimino dichos registros, todo funciona correctamente. Luego no es error
> >> del código (en principio)...
> >>
> >>¿Es eso un error de delphi? ¿De Windows XP? ¿Un error de concepto por mi
> >>parte en el tratamiento de datos trabajando con librerías dll?
> >>
> >>
> >>Saludos, JKD

> >
> >
> >



Responder Con Cita
  #7 (permalink)  
Antiguo 25-02-2004, 14:06:29
Jordi Giro \(ALVIC\)
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

Yo probaria de crear un objeto en lugar de un record y haces un create y un
free del objeto...

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c1i36c$cge2***eui1nw.euskaltel.es...
> Los registros que se crean en la dll mediante system.new están formados
> en principio por un tipo record que contiene una variable de tipo string
> y otra de tipo variant (usado para almacenar, dependiendo del caso, un
> booleano, integer o string). Probé a usar sharemem como indica la ayuda
> de d7 pero el resultado es el mismo. Probé también a sustituir la
> variable string por un array [0.255] de tipo char e incluso ese variant
> por variables Boolean, Integer y array [0..255] of char pero falla
> igualmente.
>
> Saludos, JKD
>
> jotajota wrote:
>
> > En alguna llamada a la Dll utilizas strings ?
> >
> > --
> > -
> > "Deberiamos llegar a ser lo que creemos que ya somos"
> > EchM#828
> > Sector Gazpacho
> >
> > "JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
> > news:c18h6n$5vk1***eui1nw.euskaltel.es...
> >
> >>Tengo un problema cuya solución no consigo dar, y es el siguiente:
> >>
> >>Suponiendo una aplicación y una librería dll ambas creadas por mi con
> >>Delphi 7, la aplicación implementa un objeto compuesto por una lista
> >>(TList) de punteros a registros formados por una serie de variables. La
> >>aplicación llama a una función de la librería pasando ese objeto TList
> >>por referencia. Esta función se encarga de crear unos 5 registros
> >>mediante system.new(Registro) y añadir el puntero de cada registro a la
> >>lista. Finalizada la función, el programa dispone de los 5 registros y
> >>accede a ellos a través de los punteros que contiene el TList.
> >>Posteriormente elimina los registros mediante un
> >>dispose(tlist.items[contador]).
> >>
> >>Hasta aquí todo funciona correctamente. Los registros se eliminan y
> >>finalmente se limpia la lista con un clear en TList. El problema viene
> >>si se intenta llamar a la función de la librería por segunda vez. La
> >>función vuelve a retornar los 5 registros y están perfectamente
> >>referenciados sus punteros en el TList. La aplicación los recibe
> >>correctamente igual que la primera vez. Pero al eliminar de nuevo los
> >>registros, al hacer un dispose en el último registro (y siempre es en el
> >>último registro) la aplicación genera un error de excepción del tipo
> >>EInvalidPointerOperation.
> >>
> >>Una vez depurado, me consta que ese último puntero se apunta
> >>correctamente al último registro. La función system.new en la librería
> >>no falla (se comprueba), se añade correctamente el puntero a la lista y
> >>depurando la aplicación veo correctamente todos los registros apuntados
> >>por la lista de punteros justo antes de proceder a su "dispose". Sin
> >>embargo por razones que desconozco siempre falla en el último puntero,
> >>que a simple vista es válido. La creación, edición y eliminación de los
> >>registros es similar tanto en la aplicación como en la librería ya que
> >>ambos usan la misma unidad desarrollada por mi. Si repito esa operación
> >>de forma autónoma, es decir, si desde la propia aplicación, creo y
> >>elimino dichos registros, todo funciona correctamente. Luego no es error
> >> del código (en principio)...
> >>
> >>¿Es eso un error de delphi? ¿De Windows XP? ¿Un error de concepto por mi
> >>parte en el tratamiento de datos trabajando con librerías dll?
> >>
> >>
> >>Saludos, JKD

> >
> >
> >



Responder Con Cita
  #8 (permalink)  
Antiguo 25-02-2004, 20:32:58
jotajota
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

En delphi 5, ese problema lo tenía si usaba un parámetro de llamada a alguna
función como string, y en el 7 no se si tiene el mismo problema, pero en el
5 con la optimización habilitada también da ese fallo, puedes probar a
recompilar la Dll sin usar opimización.

Saludos
Juanjo.

--
-
"Deberiamos llegar a ser lo que creemos que ya somos"
EchM#828
Sector Gazpacho

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c1i36c$cge2***eui1nw.euskaltel.es...
> Los registros que se crean en la dll mediante system.new están formados
> en principio por un tipo record que contiene una variable de tipo string
> y otra de tipo variant (usado para almacenar, dependiendo del caso, un
> booleano, integer o string). Probé a usar sharemem como indica la ayuda
> de d7 pero el resultado es el mismo. Probé también a sustituir la
> variable string por un array [0.255] de tipo char e incluso ese variant
> por variables Boolean, Integer y array [0..255] of char pero falla
> igualmente.
>
> Saludos, JKD
>




Responder Con Cita
  #9 (permalink)  
Antiguo 25-02-2004, 20:32:58
jotajota
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

En delphi 5, ese problema lo tenía si usaba un parámetro de llamada a alguna
función como string, y en el 7 no se si tiene el mismo problema, pero en el
5 con la optimización habilitada también da ese fallo, puedes probar a
recompilar la Dll sin usar opimización.

Saludos
Juanjo.

--
-
"Deberiamos llegar a ser lo que creemos que ya somos"
EchM#828
Sector Gazpacho

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c1i36c$cge2***eui1nw.euskaltel.es...
> Los registros que se crean en la dll mediante system.new están formados
> en principio por un tipo record que contiene una variable de tipo string
> y otra de tipo variant (usado para almacenar, dependiendo del caso, un
> booleano, integer o string). Probé a usar sharemem como indica la ayuda
> de d7 pero el resultado es el mismo. Probé también a sustituir la
> variable string por un array [0.255] de tipo char e incluso ese variant
> por variables Boolean, Integer y array [0..255] of char pero falla
> igualmente.
>
> Saludos, JKD
>




Responder Con Cita
  #10 (permalink)  
Antiguo 25-02-2004, 20:32:58
jotajota
 
Mensajes: n/a
Predeterminado Re: EInvalidPointerOperation

En delphi 5, ese problema lo tenía si usaba un parámetro de llamada a alguna
función como string, y en el 7 no se si tiene el mismo problema, pero en el
5 con la optimización habilitada también da ese fallo, puedes probar a
recompilar la Dll sin usar opimización.

Saludos
Juanjo.

--
-
"Deberiamos llegar a ser lo que creemos que ya somos"
EchM#828
Sector Gazpacho

"JKD" <JKD***JKDSoft.cjb.net> escribió en el mensaje
news:c1i36c$cge2***eui1nw.euskaltel.es...
> Los registros que se crean en la dll mediante system.new están formados
> en principio por un tipo record que contiene una variable de tipo string
> y otra de tipo variant (usado para almacenar, dependiendo del caso, un
> booleano, integer o string). Probé a usar sharemem como indica la ayuda
> de d7 pero el resultado es el mismo. Probé también a sustituir la
> variable string por un array [0.255] de tipo char e incluso ese variant
> por variables Boolean, Integer y array [0..255] of char pero falla
> igualmente.
>
> Saludos, JKD
>




Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado






Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.