Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
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 12-11-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 19
donald shimoda Va por buen camino
Cita:
Empezado por roman Ver Mensaje
De hecho (aunque no lo voy a jurar ) esto es seguro:

Código Delphi [-]type TPersona = class procedure Saluda; end; procedure TPersona.Saluda; begin ShowMessage('Hola'); end; procedure TForm1.Button1Click(Sender: TObject); var Persona: TPersona; begin // No construyo el objeto Persona.Saluda; end;


// Saludos
Jeje, hasta que deje de serlo.

FPC se queja con ese código, por lo tanto prefiero escribir código seguro que experimenta con lo que se banca la VCL.

Saludos
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #2  
Antiguo 12-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por donald shimoda
prefiero escribir código seguro
Nosotros también, pero también preferimos no redundar. No hace falta evitar el caso nil por lo que expliqué arriba.

En el ejemplo anterior, la llamada Persona.Saluda realmente genera este código:

Código:
call TPersona.Saluda
Se llama a una función que existe, no hay una referencia a una memoria inválida.

Si tuviéramos

Código Delphi [-]
type
  TPersona = class
    Saludo: String;
    procedure Saluda;
  end;

procedure TPersona.Saluda;
begin
  ShowMessage(Saludo);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Persona: TPersona;

begin
  // No construyo el objeto
  Persona.Saluda;
end;

entonces sí que habría problemas, porque no ha sido asignada memoria a ningún objeto y por tanto el campo Persona.Saludo no existe aún.

// Saludos
Responder Con Cita
  #3  
Antiguo 12-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
... me están estressanndo



Sal%&(/% Invalid pointer operation.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 12-11-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por eso lo tengo comentado:

// Saludos

no vaya a ser...

// Saludos
Responder Con Cita
  #5  
Antiguo 12-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Al igual que lepe me dejaron frito el cerebro.

Leí el link que señala Donald y la verdad es que no lo entendí ¿Dónde está el problema?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
Buenas prácticas de programación elcigarra OOP 18 07-11-2008 17:05:27
Siete prácticas para un óptimo y rápido desarrollo de software poliburro Noticias 5 30-07-2008 16:48:55
buenas maneras... BlueSteel Humor 23 13-06-2008 08:11:21
Buenas Noticias faustoffp Noticias 0 04-09-2006 06:33:06
Ayuda Practicas En Delphi MARIAM23 Varios 1 22-07-2006 01:19:34


La franja horaria es GMT +2. Ahora son las 13:12:39.


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