Ich habe gerade mal ein kleines Prog geschrieben, welches mir ein
dfm einliest und darstellt, nur leider geht schon das Grundsätzliche(das laden) nicht. Wenn ich folgenden Code verwende, kommt immer StreamReadError. Das passiert bei binären oder Text
dfm's.
Delphi-Quellcode:
Var
lForm : TForm;
MemoryStream:TMemoryStream;
FileStream : TFilestream;
begin
If ( OpenDialog1.Execute ) Then
Begin
FileStream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
MemoryStream := TMemoryStream.Create;
MemoryStream.LoadFromStream(FileStream);
try
MemoryStream.Position := 0;
lForm := TFormClass(Form1.ClassType).CreateNew(Application) ;
MemoryStream.ReadComponent(lForm) ;
lForm.Left := form1.Left + 10;
lForm.Top := form1.Top + 10;
lForm.Show;
finally
MemoryStream.Free;
FileStream.Free;
End;
End;