Ver Mensaje Individual
  #4  
Antiguo 13-05-2010
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Reputación: 21
defcon1_es Va por buen camino
Cita:
Empezado por Aldo Ver Mensaje
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
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita