FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Pregunta Básica TStrings
Hola foro estuve tratando de llenar los items de un combobox a travez de una variavle algo asi
algo asi pero me mandaba error, luego en la creacion del objeto TStrings utilize la clase TStringList y funcionó
Asi qeu mi pregunta es por que se declara con TStrings y luego se tiene que crear con TStringList, y si no se hace así lanza error nota.- estoy usando Lazarus 1.0.12 (32 bits) asumo que esto tambien pasa en delphi ya que es lenguaje pascal en ambos casos Me despido de ustedes agradeciendoles de antemano cualquier respuesta
__________________
Yo se que muchas veces te paso ESTO |
#2
|
||||
|
||||
Hola,
La clase "TStrings" es una clase "abstracta", esto es, sólo declara métodos virtuales que deben implementar las clases derivadas, como por ejemplo "TStringList". Me juego algo a que el error que obtenías era ese: "No se puede instanciar una clase abstracta". No me queda muy claro qué ventaja tiene una clase abstracta sobre una interface, sobre todo en Delphi, puesto que en otros lenguajes como PHP uno puede declarar una clase directamente como abstracta, mientras que en Delphi los que se declaran como tales son los métodos. Quizá sea porque en las interfaces no pueden declararse variables o propiedades mientras que en una clase abstracta sí que es posible hacer esto. Última edición por dec fecha: 30-11-2013 a las 14:52:38. |
#3
|
||||
|
||||
La clase TStrings es una clase abstracta de ahi que te de un "ERROR" aunque no has dicho cual...
La clase Tstringlist es una clase concreta lista para el manejo de cadenas y se puede usar asi gracias al polimorfismo. Echa un ojo aqui Saludos |
#4
|
||||
|
||||
david_uh,
Cita:
Cita:
Cita:
Espero sea útil Nelson. Última edición por nlsgarcia fecha: 28-11-2013 a las 21:36:14. |
#5
|
||||
|
||||
quedo claro señores
gracias por sus aportes realmente no sabia que TStrings era una clase abstracta y mas con el error que me marcaba no me daba mucha información. bueno creo que en delphi si te dice que es un clase abstracta pero en lazarus manda este aviso
bueno gracias por sacarme de la duda que no dejaba de incomodar Saludos...
__________________
Yo se que muchas veces te paso ESTO |
#6
|
||||
|
||||
Hola,
Ciertamente. Metí la pata porque, en Delphi, el error es desde luego más claro que en Lazarus. |
#7
|
||||
|
||||
Además de lo comentado, no se si te interesaría realizar esto:
En lugar de esto:
Dependiendo de dónde esté definida la variable de tipo TStrings y lo que hagas con ella, lo segundo puede provocarte errores.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta SQL Basica | Cowky | SQL | 4 | 17-05-2011 04:31:32 |
Consulta basica | Albano | SQL | 4 | 02-07-2005 08:24:49 |
pregunta basica sobre sockets | Jan_polero | Internet | 2 | 23-02-2005 15:51:49 |
Pregunta básica. Como saber si un valor está activo o no. | gluglu | Varios | 3 | 16-09-2004 18:34:53 |
Pregunta Básica! Update en InterBase 7.1 con D8 | gluglu | Conexión con bases de datos | 0 | 16-09-2004 17:23:11 |
|