Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-06-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
conversion Tstrings

Aqui de nuevo, Saludos !

estoy tratando de hacer un restore a una bd firebird con el componente MDORestoreService. En la propiedad DatabaseName me pide el nombre de la BD el cual debe ser de tipo TStrings bueno yo le asocio asi:

Código Delphi [-]
 
MDORestoreService.DataBaseName := EditOrigen.Text;

sin embargo al compilar me manda el siguiente mensaje de error:

[Error] fm_main.pas(97): Incompatible types: 'TStrings' and 'TCaption'

supongo que debo hacer un tipo de conversion o cast pero ¡ni idea!

¿alguna sugerencia? se agradece toda la ayuda.
Responder Con Cita
  #2  
Antiguo 14-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Es muy raro. La propiedad "DataBaseName" tiene toda la pinta de ser de tipo "string". ¿seguro que es esa propiedad la que te causa problemas? Y, en todo caso, no puedes "promocionar" un "string" a un "TStrings"... si una propiedad es de tipo "TStrings" tendrás que asignarle un valor de este tipo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 14-06-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
hola Dec!

Si de hecho antes de revisar el inspector de objetos yo pense eso, que databasename era un string y asi le asigne el texto del edit.

Revisando los .pas de la unidad MDOServices encontre que sí esta declarada como TStrings.

esta es la declaracion del Servicio de Backup

Código Delphi [-]
TMDOBackupService = class (TMDOBackupRestoreService)
  private
    FBackupFile: TStrings;
    FBlockingFactor: Integer;
    FDatabaseName: string;
// y muchas lineas mas

y esta es la del servicio de restore

Código Delphi [-]
TMDORestoreService = class (TMDOBackupRestoreService)
  private
    FBackupFile: TStrings;
    FDatabaseName: TStrings;

Aqui si desconosco si fue un error de dedo o para su funcionamiento debe ser TStrings.

Bueno seguiremos investigando hasta que se me agote la curiosidad sobre esto....tic tac tic tac tic tac.............
Responder Con Cita
  #4  
Antiguo 14-06-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por FGarcia
Aqui si desconosco si fue un error de dedo o para su funcionamiento debe ser TStrings.

Bueno seguiremos investigando hasta que se me agote la curiosidad sobre esto....tic tac tic tac tic tac.............
Usa esto, espero te sirva

Código Delphi [-]
 
MDORestoreService.DatabaseName.Add(EditOrigen.Text);

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 14-06-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Egostar:

Si, si lo acepta ya no marca el error. JAJAJAJA anteriormente habia probado ADDObject(); y me decia las mismas tarugadas, era la hora de la comida y se me olvido volver a intentarlo ¡primero la panza!

Gracias!!!!
Responder Con Cita
  #6  
Antiguo 14-06-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Ah pues que bien, me alegra que te haya servido, la cuestión es que aún no entiendo porque lo definieron como TString, a no ser que sea para poder restaurar mas de una base de datos a la vez.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 14-06-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Pues bien despues de buscar donde debi empezar (y creo que esto es valido para todos) la ayuda de Delphi (BackupFile property) y la carpeta Demos, pues sí, se permite el restore de varios archivos.

Los MDO descienden de los IBX asi que en la carpeta demos de IBX hay un ejemplo llamado AdminTool.dpr ahi se muestran los servicios de BackUp y Restore y algunas otras cosas que aun no comprendo.

Bueno el caso es que hay que hacer algunas cosas raras para llevar a cabo el restore, aun no termino de entender el ejemplo pero ya empeze. Y pensar que dije al iniciar esto "ah! solo asigno dos string y ya!" menuda sorpresa!!

Saludos!!
Responder Con Cita
  #8  
Antiguo 14-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hum... ¿no debería llamarse esa propiedad "DatabaseNames"? Puesto que se trata de varias bases de datos... y no de una sola. Pero en fin, a ver si voy yo ahora a enmendarle la plana a quien escribe los componentes de que tratamos... ¡el espagueti volador me libre!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 14-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por FGarcia

Código Delphi [-]
TMDOBackupService = class (TMDOBackupRestoreService)
  private
    FBackupFile: TStrings;
    FBlockingFactor: Integer;
    FDatabaseName: string;
// y muchas lineas mas
Según eso yo solo veo una base de datos que pueda hacerse el backup, aunque una BD puede estar partida en varios archivos debido a su gran tamaño.

Al restaurar, teneis razón, pero supongo la propiedad se llama así por unificar con sus objetos padre, polimorfismo o incluso por intuición, esa pequeña "s" puede ser un error de compilación bastante común .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 14-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Lepe
(...) por intuición, esa pequeña "s" puede ser un error de compilación bastante común.
Y tan común... como el que ha tenido obtenido el compañero. No hay caso. Una propiedad "DataBaseName" refiere "el nombre de una base de datos". Y ya está. No se espera uno que pueda añadir más de un nombre, más de una base de datos, y, si esto es posible y hacedero, entonces nómbrese la propiedad "DataBaseNames", que sí que dejará claro que son nombres y no un solo nombre los que guarda dicha propiedad.

PD. Ya me estoy metiendo en camisas de once varas...
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 14-06-2007 a las 17:52:56.
Responder Con Cita
  #11  
Antiguo 14-06-2007
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 dec
Ya me estoy metiendo en camisas de once varas
Son los creadores de esas componentes quienes lo hicieron. Es claramente un error de diseño, una mala decisión.

// Saludos
Responder Con Cita
  #12  
Antiguo 15-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Eh que laz ecezz al final no ce pronuncian, aquí uzamoh el ceceo y la ahpiración

Zaludoh
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #13  
Antiguo 15-06-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola amigo,

Bienvenido al club, te recomiendo que leas nuestra guia de estilos.

, oops pero si es nuestro amigo Lepe,

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta



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
variable tStrings Carliviris Varios 4 03-01-2007 19:01:05
dudas con TStrings aranel OOP 5 18-10-2005 21:49:47
TStrings a TStringList LeandroM Internet 1 27-09-2005 06:50:53
Problemas con TStrings 1501 OOP 2 19-11-2004 03:36:04
TStrings, DelimitedText y Delimiter __cadetill OOP 2 31-10-2003 16:33:00


La franja horaria es GMT +2. Ahora son las 13:56:50.


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