Hast du außer dem RichEdit oder SynEdit noch etwas auf dem Tabsheet? Ansonsten könntest du es doch so probieren:
Delphi-Quellcode:
var
NewMemo: TRichEdit;
OldMemo: TSynEdit;
begin
memo := FindMemo(ActiveControl); //aktives TabSheet finden
Quellcodemodus1.Visible := true;
Editormodus1.Visible := false;
OldMemo := TSynEdit(memo.Controls[0]); //<=
NewMemo := TRichEdit.Create(memo);
NewMemo.OnMouseDown := OldMemo .OnMouseDown;
NewMemo.OnSelectionChange := OldMemo .OnChange;
NewMemo.OnKeyDown := OldMemo.OnKeyDown;
OldMemo.free;
NewMemo.Parent := memo; // ist das eigentlich notwendig?
NewMemo.Align := alClient;
NewMemo.Show;
NewMemo.SetFocus;
NewMemo.ScrollBars := ssVertical;
//Text übernehmen
end;
Somit würdest du auf jeden Fall nicht das neue Memo freigeben.
Eigentlich könnte man doch auch eindeutige Namen und
FindComponent benutzen, oder?
MfG,
Bug