Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Memo wird in Procedure nicht erkannt
aequitas - So 05.12.10 17:28
Titel: Memo wird in Procedure nicht erkannt
Hallo,
ich habe ein Problem bei einem kleinen Chat, den ich gerade zur Übung bastele.
Ich möchte den Text, den ein Client empfangen hat, in einem Memo-Feld anzeigen.
Allerdings wird mein "MemoClient.Lines.Add" (MemoClient ist der Name des Memos) rot unterstrichen und es kommt der Fehler:
[Pascal Fehler] Unit1.pas(107): E2003 Undefinierter Bezeichner: 'MemoClient'
Hier mal die Procedure:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure ServerSocketClientRead (Sender: TObject; Socket: TCustomWinSocket); var Nachricht: string; begin Nachricht := Socket.ReceiveText; MemoClient.Lines.Add := (Nachricht); end; |
Hoffe mir kann jemand erklären, wieso das Memo-Feld nicht erkannt wird.
Danke und Grüße
Moderiert von
Martok: Topic aus Sonstiges (Delphi) verschoben am So 05.12.2010 um 19:11
platzwart - So 05.12.10 17:45
Kein Wunder! Die Prozedur "ServerSocketClientRead" gehört nicht zur Form. Daher werden alle Komponenten bzw. Funktionen, die zur Form gehören, nicht erkannt, wenn du die Form nicht explizit angibst. Korrekt wäre es also so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure ServerSocketClientRead (Sender: TObject; Socket: TCustomWinSocket); var Nachricht: string; begin Nachricht := Socket.ReceiveText; Form1.MemoClient.Lines.Add := (Nachricht); end; |
Anders wäre es, wenn du die Prozedur als Member der Form anlegst. Dann schaut das ganze so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure Form1.ServerSocketClientRead (Sender: TObject; Socket: TCustomWinSocket); var Nachricht: string; begin Nachricht := Socket.ReceiveText; MemoClient.Lines.Add := (Nachricht); end; |
jaenicke - So 05.12.10 18:13
Und was die Begrifflichkeiten angeht:
Der Titel sagt es schon: Du hast eine Prozedur, brauchst aber eine Methode des Formulars.
aequitas - So 05.12.10 18:17
War wohl ein ganz doofer Fehler :-(. Aber wieder mal was gelernt.
Dann mal vielen Dank...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!