Non ho mai avuto occasione di utilizzare le WideString, ad ogni modo ti riporto quanto ho letto a riguardo tempo fa.
Sono del tutto simili alle AnsiString, le normali stringhe che vengono dichiarate quando si utilizza il tipo string.
Entrambi i tipi sono gestiti automaticamente dal memory manager di Delphi e vengono automaticamente distrutte quando non sono più referenziate all'interno del codice (garbage collected).
Una delle differenze chiave è questa: la WideString è composta da WideChar, cioè da caratteri espressi con 2 byte per il supporto di Unicode.
Per il resto, dal punto di vista del programmatore Delphi sono del tutto identiche alle classiche stringhe e possono essere assegnate le une alle altre liberamente: Delphi si gestisce automaticamente la conversione tra i tipi di dato.
Una controindicazione: data la differenza strutturale interna tra i due tipi, potrebbero esserci dei problemi nel caso in cui tu voglia passare le stringhe come parametri di funzioni API di Windows... Occorre accertarsi preventivamente del tipo specifico richiesto dalla funzione.
Spero di averti dato le informazioni che cercavi.
Ciao!![]()