Ver Mensaje Individual
  #1  
Antiguo 27-05-2018
Avatar de geolife
[geolife] geolife is offline
Miembro Premium
 
Registrado: nov 2006
Ubicación: Barcelona
Posts: 87
Reputación: 18
geolife Va por buen camino
ResourceString y punteros

Hola amig@s,

Estoy intentando trabajar con Gnugettext y en un programa original hay multitud constantes de array que necesitan ser traducidas;

Como las constantes no se inicializan en tiempo de ejecución en los cambios de idiomas he apuntado las mismas en forma de punteros a un ResourceString; pero delphi aunque deja ejecutar la acción no presenta ningún dato al llamar al array y al cerrar provoca una excepción;

Este sencillo código de ejemplo, funciona correctamente en Lazarus, con lo que no se si hay algo en Delphi que requiera alguna directiva especial u otro cambio en el código que desconozco.


Adjunto el código:

Código Delphi [-]
unit U_Translate;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

Resourcestring

  RSEstaciones1 = 'Primavera';
  RSEstaciones2 = 'Verano';
  RSEstaciones3 = 'Otoño';
  RSEstaciones4 = 'Invierno';

Const
 CEstacion: Array [1..4] of ^String = (@RSEstaciones1,@RSEstaciones2,@RSEstaciones3,@RSEstaciones4);

var
  Form1: TForm1;


implementation


{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 ShowMessage (CEstacion[1]^);
end;

end.

Última edición por geolife fecha: 27-05-2018 a las 18:51:52.
Responder Con Cita