Zitat von
DeddyH:
Hatte ich mich so unklar ausgedrückt? Schau mal, wie man FindComponent anwendet.
Hab ich doch, funktioniert nicht so wie ich will.
TRichEdit(findcomponent('edtChat_' + AktuelleUIN)).Lines.Add(AktuelleUIN + ': ' + Msg);
Das Problem wird wohl daran liegen, dass ich den Code oben auf frmMain anwende, die gesuchte Komponente sich aber auf frmChat befindet.
TfrmMain.TRichEdit(findcomponent('frmMain.edtChat_' + AktuelleUIN)).Lines.Add(AktuelleUIN + ': ' + Msg);
oder
TRichEdit(findcomponent('edtChat_' + AktuelleUIN)).Lines.Add(AktuelleUIN + ': ' + Msg);
geht aber nicht.
EDIT:
Eigentlich müsste es jetzt so gehen:
TRichEdit(frmChat.FindComponent('edtChat_' + AktuelleUIN)).Lines.Add(AktuelleUIN + ': ' + Msg);
aber ich bekomme dann eine Zugriffsverletzung.
und wenn ich:
Delphi-Quellcode:
if frmChat.FindComponent('edtChat_' + AktuelleUIN) as TRichEdit <> nil
then
TRichEdit(frmChat.FindComponent('edtChat_' + AktuelleUIN)).Lines.Add(AktuelleUIN + ': ' + Msg);
mache, findet er sie trotzdem nicht.
Sie wurde aber 100%ig vorher erzeugt:
Delphi-Quellcode:
newTabSheet := TTabSheet.Create(frmChat.PageControlChat);
newTabSheet.Caption := AktuellerNICK;
newTabSheet.Name := 'tabChat_' + AktuelleUIN;
newTabSheet.PageControl := frmChat.PageControlChat;
newTabSheet.Parent := frmChat.PageControlChat;
frmChat.PageControlChat.ActivePage := newTabSheet;
frmChat.ShowTabButton(newTabSheet.PageIndex);
frmChat.ReCalculateButtonPositions;
newRichEdit := TRichedit.Create(newTabSheet);
TWinControl(newRichEdit).Name := 'edtChat_' + AktuelleUIN;
TWinControl(newRichEdit).Parent := newTabSheet;
newRichEdit.Align := alClient;