AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke TServer/Client -Socket Datenaustausch
Thema durchsuchen
Ansicht
Themen-Optionen

TServer/Client -Socket Datenaustausch

Ein Thema von PetziBaer · begonnen am 13. Jan 2016 · letzter Beitrag vom 14. Jan 2016
 
PetziBaer

Registriert seit: 22. Dez 2015
4 Beiträge
 
#2

AW: TServer/Client -Socket Datenaustausch

  Alt 14. Jan 2016, 08:53
Ich habe das Programm mitlerweile erweitert (erweitern wollen).

Gedanke war, das Record um ein String-Array zu erweitern und dort die Items der ListBox zu speichern.
Leider lässt sich die Größe des Arrays nicht bestimmen. Das progamm schmiert immer an der Stelle ab.

Fehlermeldung:
Im Projekt P_Server.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00403400 in Modul 'P_Server.exe'. Lesen von Adresse 00000000' aufgetreten.

Der Code sieht folgendermaßen aus:

Code:
type
  TChatMessage = packed Record
    Text : String[255];
    User : String[255];
    Clients : Array of String;
    Command : Integer;
  End;
...

var
  i : Integer;
begin
  listbox.Clear();

  for i := 0 to clientList.Count -1 do
  begin
    listbox.Items.Add(IntToStr(clientList.Items[i].SocketID) + ' ' + clientList.Items[i].Username);
  end;

  chatMessage.Command := 4;                              //4 = ListBox Update

  SetLength(chatMessage.Clients, listBox.Items.Count);   //HIER KOMMT DER FEHLER!

  for i := 0 to listBox.Items.Count -1 do
  begin
    chatMessage.Clients[i] := listBox.Items[i];
  end;

  for i := 0 to Server.Socket.ActiveConnections -1 do
  begin
    Server.Socket.Connections[i].SendBuf(chatMessage, SizeOf(chatMessage));
  end;
Ich denke vom Ansatz wird das funktionieren. Allerdings kann ich mir nicht erklären wieso dieser Fehler auftritt.

Im übrigen wäre ich auch über andere Vorhergehensweisen für einen solchen Prozess dankbar, sofern man dadurch vielleicht "sauberer" programmiert.

Mfg
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 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