AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Dynamischen Array über TCP

Dynamischen Array über TCP

Ein Thema von OrallY · begonnen am 10. Sep 2003 · letzter Beitrag vom 12. Sep 2003
 
Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#3

Re: Dynamischen Array über TCP

  Alt 11. Sep 2003, 14:34
Klar könnte ich die einzelnen Elemente per Schleife versenden. Aber ich hab halt nach einem einfach weg gesucht. Mein bisheriger Code:
Delphi-Quellcode:

type
  TTest = record
    s1, s2: string;
    end;
  TAoTest = array of TTest;

procedure TForm1.Button1Click(Sender: TObject);
var
   Test: TAoTest;
begin
  SetLength(Test, 5);
  Test[3].s1 := 'Hallo';
  with IdTCPClient1 do
  begin
     Connect;
     try
       WriteBuffer(Test[0], Length(Test));
     finally
       Disconnect;
     end;
  end;
end;

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
   Test: TAoTest;
begin
  with AThread.Connection do
    try
      SetLength(Test, 5);
      ReadBuffer(Test[0], Length(Test));
      // ReadBuffer(Test[0], 5);
      // ReadBuffer(Test[0], SizeOf(Test));
      ShowMessage(Test[3].s1);
    finally
      Disconnect;
    end;
end;
In jedem der ReadBuffer-Fällen wird ist die MessageBox leer.

//edit:

Naja, so klappts wenigstens:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   Test: TAoTest;
   i: integer;
begin
  SetLength(Test, 5);
  Test[3].s1 := 'Hallo';
  with tc do
  begin
     Connect;
     try
       WriteLn(IntToStr(Length(test)));
       for i := 0 to High(Test) do
        WriteBuffer(Test[i], SizeOf(TTest));
     finally
       Disconnect;
     end;
  end;
end;

procedure TForm1.tsExecute(AThread: TIdPeerThread);
var
   Test: TAoTest;
   RText: string;
   i: integer;
begin
  with AThread.Connection do
    try
      RText := ReadLn;
      SetLength(Test, StrToInt(RText));
      for i := 0 to High(Test) do
        ReadBuffer(Test[i], SizeOf(TTest));
      ShowMessage(Test[3].s1);
    finally
      Disconnect;
    end;
end;
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:03 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