Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-04-2021
balger balger is offline
Miembro
 
Registrado: may 2011
Posts: 30
Poder: 0
balger Va por buen camino
Unhappy liberando RESTResponse

Hola gente.
Tengo el sig. problema.
En una clase creo y destruyo los componentes REST y OAuth. el tema es que el hacer RESTResponse1.free recibo error de memoria
aparentemente tengo un problema con un objeto TJSon.
Espero ansioso sus comentarios.
Desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 09-04-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.549
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Deberías añadir el código que estás utilizando, tanto para crear los componentes como para destruirlos.
De otra forma, sólo con el texto el casi imposible saber cual es el problema y cual puede ser la solución.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 09-04-2021
balger balger is offline
Miembro
 
Registrado: may 2011
Posts: 30
Poder: 0
balger Va por buen camino
Gracias por responder. Por suerte pude resolver el tema.
La cosa esquemática es así

Código Delphi [-]
types
  Clase1 = Class
     RESTClient1: TRESTClient;
     RESTRequest1: TRESTRequest;
     RESTResponse1: TRESTResponse;
     OAuth2Authenticator1: TOAuth2Authenticator;

 private
    procedure ReqsSetBody;

  public 
     procedure create
     procedure destroy 
end

procedure create
  RESTClient1 := TRESTClient.Create(nil);
  RESTRequest1 := TRESTRequest.Create(nil);
  RESTResponse1 := TRESTResponse.Create(nil);
  OAuth2Authenticator1 := TOAuth2Authenticator.Create(nil);
end

procedure destroy
  FreeAndNil(OAuth2Authenticator1);
  FreeAndNil(RESTRequest1);
  FreeAndNil(RESTResponse1);
  FreeAndNil(RESTClient1);
end

procedure ReqsSetBody
var  
  jsnBody: TJSONObject;

begin
  jsnBody := TJSONObject.Create;
  try
    jsnBody.AddPair(lowercase(f.FieldName), VarToStr(Trim(f.Value1)));
    jsnBody.AddPair(lowercase(f.FieldName), TJSonNumber.Create(f.Value2));
    jsnBody.AddPair(lowercase(f.FieldName), DateToISO8601(f.Value3, True));

    RESTRequest1.AddBody(jsnBody);
    
  finally
    jsnBody.Free;
 end;

end;

El problema fue resuelto cambiando la visibilidad de (y todo lo que involucra)
var jsnBody: TJSONObject en procedure ReqsSetBody

a la sección privada de la clase y agregando su creacion a procedure create.

Desconozco si existe una mejor opción.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
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
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema liberando memoria: punteros y matrices Bauhaus1975 Varios 10 24-12-2010 11:24:08
¿Bajo que licencias estan liberando sus productos? xander Debates 44 30-11-2006 18:16:15
Copias de seguridad liberando BBDD piccolo2101 SQL 3 17-01-2006 14:52:39


La franja horaria es GMT +2. Ahora son las 01:35:46.


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
Copyright 1996-2007 Club Delphi