Ver la Versión Completa : array of char en delphi xe
hola amigos , tengo lo siguiente:
ClockTime:Array[0..19] of Char;
este array funciona bien en delphi 7 , pero en delphi xe5 me devuelve caracteres extranios.
como puedo solucionar esto?
ecfisa
06-04-2014, 07:46:20
Hola look.
No tengo experiencia con Delphi XE pero recuerdo haber leído por ahí que en este, Char es por defecto de tipo WideChar, a diferencia de Delphi 7 que por defecto es de tipo AnsiChar. Esto me anima a sugerirte que intentes especificando el tipo en la declaración del arreglo:
ClockTime:Array[0..19] of AnsiChar;
Lamento no tener modo de probar mi presunción.:(
Saludos :)
nlsgarcia
09-04-2014, 01:55:31
look,
...este array (ClockTime : Array[0..19] of Char) funciona bien en Delphi 7, pero en Delphi XE5 me devuelve caracteres extraños, ¿como puedo solucionar esto?...
Lo que se indica en el Msg #2 es correcto, por defecto a partir de Delphi 2009 cualquier variable de tipo String, Char o Pchar es de tipo Unicode, si se requiere que sea de tipo Ascii debe ser definida como AnsiString, AnsiChar o PAnsichar.
Revisa este código
procedure TForm1.Button1Click(Sender: TObject);
var
ClockTime : Array[0..19] of AnsiChar;
begin
FillChar(ClockTime, Sizeof(ClockTime), ' ');
ClockTime := '1234567890123456789';
ShowMessage(ClockTime);
end;
El código anterior en Delphi XE4 bajo Windows 7 Professional x32, define y procesa un arreglo de tipo AnsiChar.
Espero sea útil :)
Nelson.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.