Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Manuel Ver Mensaje
Delphi 7 me acusa error de violación de memoria cuando al hacer por segunda vez el

Código Delphi [-]
SetLength(Numeros,i);
Cuando te ocurran estas cosas, busca en google. Con "Acces violation SetLength" encontre varios links con posibles causas.

Ademas, para poder determinar que pasa con un error, el que sea, debes volverlo reproducible. No basta con simplemente mostrar codigo, debes mostrar el conjunto de pasos EXACTOS que genera el error, de lo contrario uno puede quedarse una eternidad adivinando estos casos.
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 12-07-2014
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Mil Gracias Daniel por tu ayuda, solucionado el problema después de cada SetLength(arreglo), coloque un Finalize(arreglo) y error se eliminó. Gracias una vez más.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #3  
Antiguo 12-07-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Manuel,

Cita:
Empezado por Manuel
...después de cada SetLength(arreglo), coloque un Finalize(arreglo)...


Nelson.
Responder Con Cita
  #4  
Antiguo 12-07-2014
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Que cosa no entiendes?
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #5  
Antiguo 12-07-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Manuel,

Cita:
Empezado por Manuel
...¿Que cosa no entiendes?...


Sería conveniente que publicaras el código en cuestión, en general no es necesario colocar un Finalize después de cada SetLength de un Arreglo Dinámico, como se puede ver en los códigos de los Msg #6 y Msg #7.

Cita:
Empezado por mamcx
...para poder determinar que pasa con un error, el que sea, debes volverlo reproducible. No basta con simplemente mostrar código, debes mostrar el conjunto de pasos EXACTOS que genera el error...


Nelson.
Responder Con Cita
  #6  
Antiguo 14-07-2014
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
Manuel Va por buen camino
Cita:
Empezado por nlsgarcia Ver Mensaje
Manuel,




Sería conveniente que publicaras el código en cuestión, en general no es necesario colocar un Finalize después de cada SetLength de un Arreglo Dinámico, como se puede ver en los códigos de los Msg #6 y Msg #7.




Nelson.
Nelson, mi sistema tenía bucle que redimensiona una y otra ves el mismo arreglo dinámico , el proble se presentaba cuando la redimensión era de menos elementos con respecto al último, al colocar Finalize se solucionó el problema.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #7  
Antiguo 14-07-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Manuel,

Cita:
Empezado por Manuel
...mi sistema tenía bucle que redimensiona una y otra ves el mismo arreglo dinámico...


Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Math;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   A1 : Array of Integer;
   i,j : Integer;
   Delta : Integer;
   Msg : String;

begin

   Randomize;

   for i := 1 to 1000 do
   begin
      Delta := RandomRange(1,100);
      SetLength(A1,Delta);
      for j := Low(A1) to High(A1) do
         A1[j] := Random(500);
   end;

   ShowMessage('Longitud de A1 = ' + IntToStr(Length(A1)));
   Msg := 'Primer y Último Elemento de A1 = ' + IntToStr(A1[Low(A1)]) + ',' + IntToStr(A1[High(A1)]);
   ShowMessage(Msg);

end;

end.
El código anterior en Delphi 7 bajo Windows 7 Professional x32, redimensiona aleatoriamente en un loop un arreglo de enteros y efectúa operaciones sobre sus elementos.

Suerte en tu proyecto

Nelson.
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
Mi busca si lo hace varias veces Paulao Varios 0 05-07-2011 17:15:43
llamar varias veces un formulario Lizette Varios 3 05-11-2008 16:28:10
Imprimir un registro varias veces Vlady Impresión 1 29-08-2008 08:04:14
error al ejecutar un reporte varias veces mar65 Conexión con bases de datos 3 26-01-2005 13:01:28
Imprimir algo varias veces. aoiTo Impresión 0 20-07-2004 19:12:49


La franja horaria es GMT +2. Ahora son las 08:52:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi