Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/04/2016, 09:40
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Inicializar array de cadenas en constructor

Cita:
Iniciado por aguml Ver Mensaje
Pues no se ni como hacerlo ya que mi constructor es asi:
Código C++:
Ver original
  1. __fastcall TForm1::TForm1(TComponent* Owner)
  2.    : TForm(Owner)
  3. {}
Y algo tal que...

Código C++:
Ver original
  1. __fastcall TForm1::TForm1(TComponent* Owner)
  2.        : TForm(Owner),
  3.          HintsMessages({"Este mensaje activa la ventana.",
  4.                         "Este mensaje pone el foco en la ventana.",
  5.                                // ...
  6.                                })
  7.     {}

Esto, claro está, asumiendo que has quitado lo de static.

Cita:
Iniciado por aguml Ver Mensaje
Todo lo que he probado incluso con std::string no lo acepta asi que ni idea y ademas tenemos el problema de que son dos arrays de cadenas con lo que tendria que inicializar asi 2 y que son con textos muy grandes y quedaría refeo jajaja.
¿Has probado a poner una clase aparte para proporcionar esas cadenas?

No se, se me ocurre quizás algo tal que:

Código C++:
Ver original
  1. class Messages
  2. {
  3.   static const AnsiString WindowIsActive;
  4.   static const AnsiString AnotherOne;
  5.   // ...
  6. };
  7.  
  8. const AnsiString Messages::WindowIsActive = "Este mensaje activa la ventana.";
  9. // ...

O incluso usar enumerados

Código C++:
Ver original
  1. enum Messages
  2. {
  3.   WindowIsActive,
  4.   AnotherOne,
  5.   // ...
  6. }
  7.  
  8. AnsiString GetMessage(Messages id)
  9. {
  10.   switch( id )
  11.   {
  12.     case WindowIsActive:
  13.       return "Este mensaje activa la ventana.";
  14.     // ...
  15.   }
  16. }

Cita:
Iniciado por aguml Ver Mensaje
Me parece increible lo complicado que pone C++ algo tan sencillo como eso .
Y no es que C++ ponga esto demasiado complicado, es que te falta base para entender correctamente cómo funcionan los constructores. Quizás sería recomendable dedicar unas horas a entender su funcionamiento.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.