Fehler bei ServerSocket Sendtext
-
Ausserdem solltest du deinen Code mal in zwei Zeilen zerlegen, um festzustellen, von welcher der beiden Listen (Connections[], Strings[]) die Exception tatsächlich verursacht wird.
-
Steht im TMemo auch wirklich was drin?
Bzw. schaust du nach ob der Count 0 ist?Edit: Junix war schneller...
[ Dieser Beitrag wurde am 27.06.2003 um 13:42 Uhr von MikeSPK editiert. ]
-
und noch checken ob der client wirklich erfolgreich connected hat.(zum Test ´nen SendText vom clienten aus ausführen)
J0
-
Connected ist er auf jeden Fall. Kann ja normalen String senden. Ich hab mal noch ein bissl mehr Code.
void __fastcall TForm1::FormCreate(TObject *Sender) { Server->Active = True; } //--------------------------------------------------------------------------- void __fastcall TForm1::ServerClientError(TObject *Sender, TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode) { ErrorCode = 0; } //--------------------------------------------------------------------------- void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key) { if (Key == VK_RETURN) { Server->Socket->Connections[2]->SendText (Memo1->Lines->Strings[Memo1->Lines->Count -1]); } }
-
Wieso Connections[2]?
Ausserdem ist sowas Hard-Coded absolut gefährlich ich hoffe dir ist das bewusst.
-junix
-
Ups!!! Sollte natürlich "Connections[0]" heissen Sorry
-
void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key) { AnsiString debugging = Memo1->Lines->Strings[Memo1->Lines->Count -1]); // wüsste echt gern ob bei dir das rausholen schon ne Exception bringt. // schliesslich knallts hier wenn du bei Count-1 Müll drin hast... also // prüfe lieber vorher ab ob du auch wirklich richtig zugreifen kannst if (Key == VK_RETURN && Memo1->Lines->Count) { Server->Socket->Connections[0]->SendText (Memo1->Lines->Strings[Memo1->Lines->Count -1]); } }
Edit: Kommentar
[ Dieser Beitrag wurde am 27.06.2003 um 14:53 Uhr von MikeSPK editiert. ]
-
Ich habe das mal so übernommen...
Jetzt ist es so, sobald ich eine Eingabe im Memofeld mache, kommt schon diese Exception. Hat jemand eine Lösung oder Idee???MfG
-
Was steht in Count des Memos?
Edit:
Oder vielleicht langts für dein Beispiel auch wenn du ihm deinen kompletten Memoinhalt rüberschiebst. (Memo1->Lines->Text oder CommaText)[ Dieser Beitrag wurde am 27.06.2003 um 15:24 Uhr von MikeSPK editiert. ]
Edit2:
Wer lesen kann...
Hab nicht gesehen dass du in deinem Memo bei jedem KeyPress reinläufst...
Dann ist mein Code natürlich Müll.. lösch mal die Zuweisung an Debugging raus..>> Vermutung meinerseits.. -> Vermutung war Schrott..
[ Dieser Beitrag wurde am 27.06.2003 um 15:32 Uhr von MikeSPK editiert. ][ Dieser Beitrag wurde am 27.06.2003 um 15:36 Uhr von MikeSPK editiert. ]
-
Es soll der Text übergeben werden, den ich bei Memo in die einzelnen Zeilen einfüge... Ähnlich wie bei einem Instant Messenger.
Ich schreibe praktisch in Memo1->Lines->String[0] einen Text und der soll an den Clienten gesendet werden.
hab in den Lines Eigenschaften eine Leerzeile eingefügtTommy
-
Hab den Fehler....
Wenn ich meinen Server beende, sollte ich den Clienten auch mal neu starten... Dann geht dat auch... Aber trotzdem danke für die Mühe