Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Question Los ayudantes de clases (o clases ayudantes), ¿ya se gestaban en Delphi 7?

¡Hola a todos!

Como algunos ya saben y otros se enterarán con el tiempo. Desde la versión 8 de Delphi existe la posibilidad de crear ayudantes de clases (o clases ayudantes). Bajo una sintaxis como esta:
Código Delphi [-]
  Uses
    DB;

  Type
    TFieldHelper = Class Helper For TField
    End;
Esta mañana, impulsado por la curiosidad, he intentado compilar la declaración de arriba con un Delphi 7 (actualizado a subversión 0.8.1), llevándome tremenda sorpresa al ver el siguiente mensaje en la lista de errores:
Cita:
…System unit out of date or corrupted: missing 'TClassHelperBase'
Esperaba cualquier otro mensaje de error, menos uno como ese. ¿El compilador de Delphi 7 ya preveía el uso de ayudantes de clases?

¿A quién más le aparece el mismo mensaje al tratar de compilar esas líneas en Delphi 7 o versiones anteriores?

¿Será que esta actualización de subversión 0.8.1 incluye parte de lo que ya se había creado para Delphi 8?

Un abrazo sorpresivo.

Al González.
Responder Con Cita
  #2  
Antiguo 10-12-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, esto de los ayudantes esta interesante , no conocia esta caracteristica, hace tiempo necesite de algo asi ya que tenia un componente sin los fuentes, al que fue necesario asignarle unos valores en toda la aplicación, nunca me percate de heredarlo y de usar el componente heredado para no tener ese tipo de problemas... para lo que en su momento me hubiera sido muy util esta caracteristica (Aunque en ese tiempo usaba Delphi6 y por lo que veo en D6 no existia esta caracteristica). Aún asi estoy seguro que mas adelante tambien me sera muy util ya que nadie esta exento a que sucedan este tipo de cosas, a parte de eso debe poderse aplicar a muchas otra necesidades... me parece que es algo muy bueno .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 10-12-2007 a las 22:55:36.
Responder Con Cita
  #3  
Antiguo 11-12-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola!

Cita:
Empezado por jhonny Ver Mensaje
...Aunque en ese tiempo usaba Delphi6 y por lo que veo en D6 no existia esta caracteristica...
Mi amigo Jhonny, creo que no captaste el punto. Oficialmente dicha característica tampoco existe en Delphi 7.

¿Por qué entonces el compilador de Delphi 7 (y habría que preguntarse si el 6 también) no desconoce la palabra "Helper" de la declaración que puse como ejemplo? ¿Y porqué el mensaje de error hace alusión clara y directa a una clase "TClassHelperBase" (INEXISTENTE EN DELPHI 7) que pareciera ser la clase base de todas las clases ayudantes (muy probablemente a partir de Delphi 8)? (<-- la carita de sorpresa es para atraer atención a este párrafo )

A lo que voy es que me resulta muy extraño que el compilador de Delphi 7 "ya supiera algo" de las cosas nuevas que existirían a partir de Delphi 8.

Y el mensaje más que nada es para invitarlos a probar eso mismo con sus Delphis 7 y 6, para ver más o menos desde cuándo Borland ya planeaba integrar esta útil característica en el compilador y sin embargo no lo hizo (quizá no la alcanzaron a terminar a tiempo). Y, por qué no, hacer una especie de "análisis arqueológico" de esta situación tan curiosa.

Ocho abrazos en el 7.

Al González.
Responder Con Cita
  #4  
Antiguo 11-12-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
...
A lo que voy es que me resulta muy extraño que el compilador de Delphi 7 "ya supiera algo" de las cosas nuevas que existirían a partir de Delphi 8.
....
Al González.
Lo que pasa, hasta donde yo sé, es que la versión 7 fue hecha pensando en la próxima versión (8) y que prácticamente esa versión -la 7- es una antesala a la movida a .net

Por esta razón, cuando el compilador nos avisa con un mensaje como "unsafe code" lo que nos está dando a entender es que será un poco complicado o imposible convertir automáticamente xyz código a .net

Me imagino, que Borland se imaginó que todo el mundo se iva a ir de boca a la plataforma .net.

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
Antiguo 11-12-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Tienes razón Al , parece que me gusto tanto esto de los ayudantes de clase que me dedique solo a hablar de eso . Aunque la verdad es que si te habia entendido desde el principio (Quiza es mi naturaleza para desvirtuar hilos ).

Haciendo la prueba en el D6 me sucede que al hacer CTRL+F9, me muestra un cuadro de error diciendo:

Cita:
---------------------------
Error
---------------------------
Expected ':' but For found.
---------------------------
OK
---------------------------
Como tu dices, parece que en D7 si contemplaban la posibilidad de dicha caracteristica, porque en D6 inmediatamente "brinca" dicho error.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 12-12-2007
[Andreano] Andreano is offline
Miembro Premium
 
Registrado: sep 2006
Posts: 155
Poder: 18
Andreano Va por buen camino
Hola a todos,


Durante el desarrollo de Delphi 7 ya teníamos planeado el suporte a Class Helper en futuras versiones de Delphi, por esto la palabra Helper ya esta reservada.

En general es una buena platica nombrar clase de ayuda a determinar funciona XXXXHelper también, mas siempre junto con otro nombre.

Saludos,
Andreano Lanusse
CodeGear
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
Dll con Clases DarkDrakon Varios 1 19-06-2007 10:59:10
documentación de las clases de delphi javigh Varios 12 26-05-2007 05:09:34
instancias de clases delphi.net karocs .NET 3 16-05-2007 17:54:06
Crear clases desde Delphi albertoP OOP 6 19-09-2006 22:47:05
crear clases en delphi alextmb Varios 6 24-04-2006 02:40:45


La franja horaria es GMT +2. Ahora son las 14:59:09.


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