• Martes 12 de Noviembre de 2024, 20:56

Autor Tema:  Error De Acceso A La Memoria  (Leído 1347 veces)

lmurbina

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Error De Acceso A La Memoria
« en: Sábado 15 de Octubre de 2005, 16:51 »
0
por casualidad a alguien no le ha salido el siguiente error

project xxxx.exe raised exception class EAccessViolation whit message 'Access Violation at Address xxxxxxxx in module 'rtl0.bpl'. Read of Address xxxxxxxx'. Process Stopped. Use step or run to continue.

tienen alguna idea de como solucionarlo. se los agradecere mucho :kicking:

Otro problemita que espero me puedan ayudar es el siguiente:

¿Como acceso a las propiedades de un objeto desde una funcion propia declarada por mi digamos?
P/E
 void mifuncion(){
    int i;
    for  (i=0; i<10; i++)´
         label1->Caption= IntToStr(i);
}

Me da el error identifier label1 no found

pero si lo hago desde:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int i;
    for  (i=0; i<10; i++)´
         label1->Caption= IntToStr(i);
}

Me funciona, Sabes que debo hacer; :P

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Error De Acceso A La Memoria
« Respuesta #1 en: Sábado 15 de Octubre de 2005, 17:33 »
0
Citar
void mifuncion(){
int i;
for (i=0; i<10; i++)´
label1->Caption= IntToStr(i);
}

Creo qeu deberías hacer:
Código: Text
  1.  
  2.  void mifuncion(){
  3. int i;
  4. for (i=0; i&#60;10; i++)´
  5. Form1-&#62;label1-&#62;Caption= IntToStr(i);
  6. }
  7.  
  8.  
Ya que defines tu funcion fuera de la Clase TForm. Definila adentro en métodos públicos y podrás usar tu código tal cual está....

O sea, no me acuerdo como se declaraba en builder las clases, pero cuando escribas el código de la funcion debería formar parte de la clase TForm:
Código: Text
  1.  
  2. void __fastcall TForm1::mifuncion(){
  3. int i;
  4. for (i=0; i&#60;10; i++)´
  5. label1-&#62;Caption= IntToStr(i);
  6.  
  7.  

lmurbina

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Error De Acceso A La Memoria
« Respuesta #2 en: Sábado 15 de Octubre de 2005, 23:10 »
0
Gracias por la ayuda se ve muy interesante eso de usar
void _FastCall TForm1::mifuncion(){
   int i;
   for (i = 0; i < 10; i++){
       Label1->Caption = IntToStr(i);
    }
}

Pero aun no se como declararla la funcion dentro de la clase TForm1 prove donde dice
 Private y Public no me da error a la hora de compilarlo pero a la hora de ejecutarlo si me da un erro logico
 Si saben de algo les agradecere que me ayuden por favor.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Error De Acceso A La Memoria
« Respuesta #3 en: Domingo 16 de Octubre de 2005, 02:13 »
0
Cita de: "lmurbina"
Gracias por la ayuda se ve muy interesante eso de usar
void _FastCall TForm1::mifuncion(){
   int i;
   for (i = 0; i < 10; i++){
       Label1->Caption = IntToStr(i);
    }
}

Pero aun no se como declararla la funcion dentro de la clase TForm1 prove donde dice
 Private y Public no me da error a la hora de compilarlo pero a la hora de ejecutarlo si me da un erro logico
 Si saben de algo les agradecere que me ayuden por favor.
Use Builder por casi nada de tiempo y hace 1 año que ni lo toco y tampoco lo tengo para fijarme. (Uso Delphi).  

Recien me fijé en un manual,  hace lo mismo que hiciste pero sin el _fastcall

Código: Text
  1.  
  2. private: // User declarations
  3. 24: void DrawImage(String& name);
  4.  
  5.  
  6. 119: TMainForm::DrawImage(String& name)
  7. 120: {
  8. 121: //
  9. 122: // load the bitmap from a resource
  10. 123: // using the name passed to us
  11.  
  12.  

Debería quedar algo hací, Fijate el metodo DrawImage.