Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi RichEdit einer Klasse ansprechen (https://www.delphipraxis.net/28091-richedit-einer-klasse-ansprechen.html)

Pseudemys Nelsoni 19. Aug 2004 15:00


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:
self.Richedit1.lines.add(Socket.Receivetext);
dann habe ich auch noch folgendes getestet:

Delphi-Quellcode:
TMyClass.Richedit1.lines.add(Socket.Receivetext);
ging aber nicht zu kompilieren...

wie stell ich das nun an dem richedit text hinzuzufügen?

SirThornberry 19. Aug 2004 15:05

Re: RichEdit einer Klasse ansprechen
 
wenn form2 das richedit enthält so muss es auch heißen:
Delphi-Quellcode:
Form2.Richedit1.lines.add(Socket.Receivetext);
Wenn das Richedit nicht über per Delphi-IDE aufs Formular gebracht hast musst du natürlich noch die Instanz des Richedit initialisieren.

Pseudemys Nelsoni 19. Aug 2004 15:28

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:
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;
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....

ich kann nur nicht auf das "ding" zugreifen :(

Stevie 19. Aug 2004 15:29

Re: RichEdit einer Klasse ansprechen
 
Zitat:

Zitat von Pseudemys Nelsoni
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....

Da TMyClass von TForm2 abgeleitet ist und RichEdit1 in TForm2 deklariert ist:
Delphi-Quellcode:
RichEdit1.Lines.Add(Socket.ReceiveText);
P.S. Aber TForm2 hast du in der IDE erstellt, ja?

Pseudemys Nelsoni 19. Aug 2004 15:32

Re: RichEdit einer Klasse ansprechen
 
hallo stevie,

danke für dein post.

das habe ich leider auch schon getestet(siehe mein post zuvor) :(

KrasserChecker 19. Aug 2004 15:49

Re: RichEdit einer Klasse ansprechen
 
:wiejetzt:
Hmm, es wäre hilfreich, wenn Du mal die Fehlermeldung posten könntest.

Pseudemys Nelsoni 19. Aug 2004 15:52

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"

KrasserChecker 19. Aug 2004 15:58

Re: RichEdit einer Klasse ansprechen
 
Davon, dass es eine Zugriffsverletzung ist habe ich nichts gelesen (ansonsten: shame on me).

Geht das hier:

Delphi-Quellcode:
procedure TMyClass.SockReadProc(Sender: TObject; Socket: TCustomWinSocket);
begin
  ShowMessage(Socket.Receivetext);
  ...
end;
Ansonsten: Wo und wie wird das Objekt vom Typ TMyClass erzeugt und wie wird die Methode "SockReadProc" aufgerufen?

Pseudemys Nelsoni 19. Aug 2004 16:03

Re: RichEdit einer Klasse ansprechen
 
moin,

jo, mit Showmessage gehts, also muss es an dem richedit liegen oder?

KrasserChecker 19. Aug 2004 16:04

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 11:11 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz