Jupp, DFMs aus alten Delphis werden nicht automatisch auf Text umgestellt, welches inzwischen die DefaultEinstellung ist (für neu erstellte Forms).
Ansonsten lässt es sich auch manuell übersetzen, wenn es innerhalb des Designers knallt.
siehe System.Classes
Delphi-Quellcode:
{ Object conversion routines }
type
TStreamOriginalFormat = (sofUnknown, sofBinary, sofText, sofUTF8Text);
procedure ObjectBinaryToText(const Input, Output: TStream); overload;
procedure ObjectBinaryToText(const Input, Output: TStream;
var OriginalFormat: TStreamOriginalFormat); overload;
procedure ObjectTextToBinary(const Input, Output: TStream); overload;
procedure ObjectTextToBinary(const Input, Output: TStream;
var OriginalFormat: TStreamOriginalFormat); overload;
procedure ObjectResourceToText(const Input, Output: TStream); overload;
procedure ObjectResourceToText(const Input, Output: TStream;
var OriginalFormat: TStreamOriginalFormat); overload;
procedure ObjectTextToResource(const Input, Output: TStream; const Name: string = ''); overload;
procedure ObjectTextToResource(const Input, Output: TStream;
var OriginalFormat: TStreamOriginalFormat; const Name: string = ''); overload;
function TestStreamFormat(const Stream: TStream): TStreamOriginalFormat;
TReader und TWriter sind zu grundeliegenden Datenklassen (für's binäre Format)
DFM heute als Text, aber im kompilierten Programm immernoch Binär und geladen wird am Ende auch das Binäre.