![]() |
RichEdit einer Klasse ansprechen
moin,
habe folgendes:
Delphi-Quellcode:
TMyClass = class(TForm2)
public ClientSocket: TClientSocket; procedure SockReadProc(Sender: TObject; Socket: TCustomWinSocket); end; ... procedure TMyClass.SockReadProc(Sender: TObject; Socket: TCustomWinSocket); begin ???.Richedit1.lines.add(Socket.Receivetext); end; Da ist auch schon meine Frage... TForm2 enthält ein richedit.... nur wie füge ich dem richedit lines aus einer meiner methoden zu? Das einzige was kompilierbar(aber falsch(fehler)) war, war das hier:
Delphi-Quellcode:
dann habe ich auch noch folgendes getestet:
self.Richedit1.lines.add(Socket.Receivetext);
Delphi-Quellcode:
ging aber nicht zu kompilieren...
TMyClass.Richedit1.lines.add(Socket.Receivetext);
wie stell ich das nun an dem richedit text hinzuzufügen? |
Re: RichEdit einer Klasse ansprechen
wenn form2 das richedit enthält so muss es auch heißen:
Delphi-Quellcode:
Wenn das Richedit nicht über per Delphi-IDE aufs Formular gebracht hast musst du natürlich noch die Instanz des Richedit initialisieren.
Form2.Richedit1.lines.add(Socket.Receivetext);
|
Re: RichEdit einer Klasse ansprechen
hallo sirthornberry,
da ich zur "designzeit" kein form2 habe kann ich es damit ja auch nicht ansprechen. Es lässt sich wenn ich es so habe:
Delphi-Quellcode:
zwar kompilieren, aber der zugriff erzeugt immer einen fehler... das "RichEdit1.Create(nil);" dürfte sowieso falsch sein, da das fenster mit dem richedit ja schon funktioniert...also kannst du das hier ruhig ignorieren ich habs eh wieder draussen....
TMyClass = class(TForm2)
public ClientSocket: TClientSocket; constructor Create(AOwner: TComponent); override; procedure SockReadProc(Sender: TObject; Socket: TCustomWinSocket); end; ... constructor TMyClass.Create(AOwner: TComponent); begin inherited; RichEdit1.Create(nil); end; procedure TMyClass.SockReadProc(Sender: TObject; Socket: TCustomWinSocket); begin Richedit1.lines.add(Socket.Receivetext); end; ich kann nur nicht auf das "ding" zugreifen :( |
Re: RichEdit einer Klasse ansprechen
Zitat:
Delphi-Quellcode:
P.S. Aber TForm2 hast du in der IDE erstellt, ja?
RichEdit1.Lines.Add(Socket.ReceiveText);
|
Re: RichEdit einer Klasse ansprechen
hallo stevie,
danke für dein post. das habe ich leider auch schon getestet(siehe mein post zuvor) :( |
Re: RichEdit einer Klasse ansprechen
:wiejetzt:
Hmm, es wäre hilfreich, wenn Du mal die Fehlermeldung posten könntest. |
Re: RichEdit einer Klasse ansprechen
ich sagte doch das es n zugriffsfehler ist... willst du die adresse des fehlers?
k hier(wenns hilft): "Zugriffsverletzung bei Adresse 004A2108 in Modul 'Project1.exe'. Lesen von Adresse 000002F8" |
Re: RichEdit einer Klasse ansprechen
Davon, dass es eine Zugriffsverletzung ist habe ich nichts gelesen (ansonsten: shame on me).
Geht das hier:
Delphi-Quellcode:
Ansonsten: Wo und wie wird das Objekt vom Typ TMyClass erzeugt und wie wird die Methode "SockReadProc" aufgerufen?
procedure TMyClass.SockReadProc(Sender: TObject; Socket: TCustomWinSocket);
begin ShowMessage(Socket.Receivetext); ... end; |
Re: RichEdit einer Klasse ansprechen
moin,
jo, mit Showmessage gehts, also muss es an dem richedit liegen oder? |
Re: RichEdit einer Klasse ansprechen
Richtig. ( :gruebel: )
Wo und wie wird das Objekt vom Typ TMyClass erzeugt und wie wird die Methode "SockReadProc" aufgerufen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz