Cita:
Empezado por Aldo
NOTA: Esto funciona correctamente en Delphi 5 pero no en Delphi 2010 que en vez de devolver la cadena completa solo devuelte el primer elemento de la cadena.
|
Ciertamente es por lo que dices, en Delphi 2010 un PChar se trata como PWideChar.
Para evitar problemas con esto, deberías especificar el tamaño del caracter con el que estás trabajando (2 bytes), como he señalado en negrita.
Código Delphi
[-]
procedure TUDFString.SetSize(Value: Integer);
begin
if (Value > FSize) or
(Value <= FSize - ShrinkLen) then begin
ReallocMem(FString, (Value + 1) * Sizeof(WideChar));
FSize := Value;
end;
end;
...
No obstante, puedes mirar en la ayuda de Delphi 2010, ms-help://embarcadero.rs2010/rad/Enabling_Applications_for_Unicode.html
Otra buena referencia para trabajar con UNICODE la tienes aqui:
http://delphi.about.com/od/objectpas...-in-delphi.htm
Salu2