Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi kann bei OnConnect keine TStrings liste übergeben (https://www.delphipraxis.net/104993-kann-bei-onconnect-keine-tstrings-liste-uebergeben.html)

k4ni 13. Dez 2007 20:47


kann bei OnConnect keine TStrings liste übergeben
 
Hey leute,

Ich bin gerade dabei einen chat zu machen.
Und das mache ich mit ServerSocket und ClientSocket, und was klar ist wenn der Client connected braucht er eine liste mit den leuten die schon im chat sind. Und diese liste gibt es auf dem Server.

Also übergeb ich die list von einer ListBox in TStrings. Also ungefähr so:
Delphi-Quellcode:
Server:
Nachricht.More(Listbox1.Items); //More ist TStrings

Client:
Listbox1.Clear;
Listbox1.Items.AddItems(Nachricht.More); //Natürlich noch die nachricht davor empafangen
Also damit ihr das noch besser versteht, hier die source: Download

Ich versteh einfach nicht warum das nicht funktioniert.

Danke im voraus!!

mkinzler 13. Dez 2007 21:04

Re: kann bei OnConnect keine TStrings liste übergeben
 
Ist .More jetzt eine Eigenschaft oder Methode?

k4ni 13. Dez 2007 21:06

Re: kann bei OnConnect keine TStrings liste übergeben
 
Delphi-Quellcode:
type TChatNachricht = Record
        Nickname: string[255];
        Text:    string[255];
        Text2:   string[255];
        More:    TStrings
      end;

mkinzler 13. Dez 2007 21:07

Re: kann bei OnConnect keine TStrings liste übergeben
 
Delphi-Quellcode:
Nachricht.More.Assign(Listbox1.Items);

k4ni 13. Dez 2007 21:17

Re: kann bei OnConnect keine TStrings liste übergeben
 
Danke :-D
doch jetzt kommt eine Address Violation beim Server.

mkinzler 13. Dez 2007 21:18

Re: kann bei OnConnect keine TStrings liste übergeben
 
Und andersherum?

DeddyH 13. Dez 2007 21:19

Re: kann bei OnConnect keine TStrings liste übergeben
 
Da es sich um ein Objekt handelt, musst Du es zunächst erst instanziieren. Hast Du daran gedacht?

k4ni 13. Dez 2007 21:28

Re: kann bei OnConnect keine TStrings liste übergeben
 
Nein, und ich weis auch nicht was das heist.
Bitte um erklärung

DeddyH 13. Dez 2007 21:31

Re: kann bei OnConnect keine TStrings liste übergeben
 
Damit meine ich, dass Du bei TStrings erstmal irgendwo ein Create aufrufen musst.

k4ni 13. Dez 2007 21:51

Re: kann bei OnConnect keine TStrings liste übergeben
 
Ich hab das:
Delphi-Quellcode:
  Nachricht.Nickname := 'Hello';
  Nachricht.More.Create;
  Nachricht.More.Assign(Listbox1.Items);
  Socket.SendBuf (Nachricht, SizeOf(Nachricht));
und das:

Delphi-Quellcode:
  Nachricht.Nickname := 'Hello';
  Nachricht.More.Create. Assign(Listbox1.Items);
  Socket.SendBuf (Nachricht, SizeOf(Nachricht));
Jetzt kommen immernoch erors. Nur ich glaub das liegt daran das ich es beim Client auch noch Createn muss.

Aber ich weis nicht wie ich das machen muss. Ich habs jetzt mal so versucht:

Delphi-Quellcode:
Nachricht.More.Create;
  Socket.ReceiveBuf (Nachricht, SizeOf(Nachricht));

if Nachricht.Nickname = 'Hello' then begin
Listbox1.Clear;
Listbox1.Items.AddStrings(Nachricht.More);
Idee?


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr.
Seite 1 von 3  1 23      

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