Wieso verwendest Du Shortstring?
Wenn es um den Speicherplatz geht, hast Du hoffentlich dies beachtet:
Zitat:
Ein ShortString hat eine Länge von 0 bis 255 Einzelbyte-Zeichen. Obwohl sich seine Länge dynamisch ändern kann, beträgt die statische Speicherplatzzuweisung immer 256 Bytes. Im ersten Byte wird die Länge des Strings gespeichert, die restlichen 255 Byte stehen für die Zeichen zur Verfügung.
Zitat:
UnicodeString-Variablen, denen kein Anfangswert zugewiesen wurde, enthalten einen String der Länge Null (0).
Ansonsten funktioniert das Zuweisen grundsätzlich wie man es vermuten würde.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
S : String;
ShortS : ShortString;
begin
S := 'String';
ShortS := S;
Label1.Caption := ShortS;
ShortS := 'ShortString';
S := ShortS;
Label2.Caption := S;
end;
Dies müsste vom Prinzip m.E. eigentlich funktionieren, zumindest solange der der zugewiesene String nicht zu lange ist.
FCommand.ProgName := FIniFile.ReadString('Command','Exename',''); //Das funktioniert nicht so einfach, aber wie dann?