Ver Mensaje Individual
  #3  
Antiguo 22-02-2007
Jome Jome is offline
Registrado
 
Registrado: nov 2005
Posts: 8
Reputación: 0
Jome Va por buen camino
Cita:
Empezado por Neftali
La liberación me parece correcta y luego recuerda borrar el índice 1 (Delete), ya que ahora te ha quedado un String en la posición 1 con un apuntador a ¿???¿?.
Efectivamente, si no se elimina el elemento entero, habría que hacer .Objects[1] := nil

Cita:
Empezado por Neftali
Lo que no me ha quedado claro es esto (el CAST como TObject), pero bueno:

Código Delphi [-]
TObject(StrNew(PChar('QueTal')))
Es un cast para que acepte el puntero a la nueva cadena. A efectos prácticos, supongo que es equivalente a Pointer(StrNew(PChar('QueTal'))).

Lo que no entiendo muy bien es cómo haciendo .Objects[1].Free es capaz de liberar esa memoria, siendo que no se trata de un objeto creado mediante un constructor Create.
Responder Con Cita