Announcement

Collapse
No announcement yet.

SendBuf-Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SendBuf-Problem

    Hi!<p>

    Ich weiß, dieses Posting existiert auch im Internet-Folder, aber dort konne
    mir niemand helfen!<p>

    Folgendes Problem: Ich will ein Chatprogramm für Windows proggen und das
    ganze über TCP/IP laufen lassen. Nach meinen ersten Versuchen mit TServer-
    und TClientSocket und dem nervigen "SendText"-Befehl bin ich dann auf
    "SendBuf" umgestiegen.<p>

    Konkret:<br>
    Ich habe eine Record namens<p>

    TChatString = record<br>
    From : String;<br>
    Text : String;<br>
    end;<p>

    Dieses fülle ich dann und schicke es über den Befehl<br>
    "SendBuf(TChatString,SizeOf(TChatString))"<br>
    übers Netz und empfange es über den Befehl:<br>
    "Socket.ReceiveBuf(TCHatString,SizeOf(TChatString) );"<p>

    Beim ersten Senden der Daten funktoniert das wunderbar doch nachdem ich ein
    weiteres Record geschickt habe, kommt nur noch Müll an (alles von
    IP-Adressen bis Zahlenketten).<p>

    Hat jemand 'ne Idee?<p>

    mfg und danke im Vorraus,<br>
    Patrik<br>

  • #2
    Hi,

    TChatString ist nur Typ, keine Variable. Entsprechend kannst du nicht die Funktion "SendBuf(TChatString,SizeOf(TChatString))" verwenden.

    Beispiel :

    type TChatString = record
    From : String;
    Text : String;
    end;
    var
    Chat1 : TChatString;

    procedure ...
    begin
    ...
    Chat1.From:='192.168.0.1';
    Chat1.Text:='Hallo';
    SendBuf(Chat1,SizeOf(Chat1));
    ...
    end;

    Damit müsste es klappen !

    Manuel und Danie

    Comment


    • #3
      Hi,

      du hast ausserdem einen weiteren Fehler im Code. Du musst die Länge der Strings definieren. Die Deklaration muss also lauten : <p>

      type TChatString = record
      From : String[100];
      Text : String[100];
      end; <p>

      Zum Beispiel 100 Zeichen ! Du kannst den Wert auch auf etwas anderes setzen, aber die Länger des Strings sollte definiert sein ! <p>

      Gruss,
      Manue

      Comment

      Working...
      X