Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Odesilani pres TClientSocket + TMemoryStream

Ahoj mam toto :

Procedure Tstraka.send_by(kulovy: TMemoryStream; bambus :TClientsocket;name:string);
var  size : integer;
begin
sleep(300);
try
    kulovy.LoadFromFile(name);
    kulovy.Position := 0;
    Size:= kulovy.Size;
    bambus.Socket.SendBuf(Size,SizeOf(Size));
    bambus.Socket.SendStream(kulovy);
except
// raised vynechan
end;
deletefile(name);
end;

procedure Tstraka.Button2Click(Sender: TObject);
var stream_string : TTestRec;
    pocet  : integer;
    nahoda : integer;
begin
randomize;
nahoda := random(9999999)+103927;
try
   FillStream( Ms1, 20 );
   ShowStreamData( Ms1, Memo1.Lines, 'Ms1' );
except
 // raised vynechan
end;
 try
  Ms1.SaveToFile(inttostr(nahoda)+'.dat');
 except
 // raised vynechan
 end;
 try
 send_by(ms2,ClientSocket1,inttostr(nahoda)+'.dat');
 except
 messagedlg(sysErrormessage(GETlasterror),mterror,[mbok],0);
 end;
end;

const
  propust = '%5s';  // format(propust, [string]); 
type
  Tkousni = record
    name      : string[50];
    password  : string[32]; // sifrovano MD5
    date      : string[40];
    text      : string[255];
    acct      : string[30];
    prava     : string[30];
  end;
  PTTkousni = ^Tkousni;
toto se prevadi do streamu a uklada jako random file.
Samostatne to pracuje dobre a pri prvnim spusteni + pripojeni a odeslani vse probehne OK ale po odeslani jiz nelze odeslat podruhe, kde delam chybu? Stream se provede i po pokusu odeslat podruhe ale uz se neodesle na server podruhe vzdy to musim zavrit, zkousel jsem Ms2.free; po tomto se vubec nic neodesle i kdyz je vse uz ukonceno a hozeno za sleep(500);
Vrta mi to hlavou od dopoledne.
Google jsem prosel ale reseni na toto neni, nechci to odesilat jako textak receivetext a sendtext, protoze sendtext chci pouzit na normalni chat a prikazove FCE.
MS1 a MS2 jsou vytvoreny zde :

procedure Tstraka.FormCreate(Sender: TObject);
begin
ms1 := Tmemorystream.Create;
ms2 := Tmemorystream.Create;
end;

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny