Форум: "Сети";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
ВнизСнова АнтиФриз(InDy) Найти похожие ветки
← →
karafuto (2001-10-16 17:13) [0]Прочитал в форуме про ИнДи, что в версии 8.0 Антифриз не работал, а в версии 9.0 должен.
Использую версию 9.0.2-В ни ничего не получается. Где ещё спросить?
← →
Ketmar (2001-10-17 05:43) [1]что в инди8, что в инди9 - антифриз работал, как написано. проверено с idhttp, idftp (кажись, про фтп не помню).
Satanas Nobiscum!
← →
karafuto (2001-10-17 10:03) [2]Может, я что не так делаю(в смысле дурак):
Есть клиент с TIdTCPClient
Там же есть TIdAntiFreeze
Когда выполняется WriteStream(src) (а src ~ 7M), клиент "замерзает".
← →
nikkie (2001-10-17 10:18) [3]>Прочитал в форуме про ИнДи
в каком форуме? в этом форуме только ты писал о каких-то проблемах. если в каком другом - дай ссылку.
есть ощущение, что это проблемы твои, а не антифриза. налицо какая-то путаница с клиентом-сервером. есть куча примеров с антифризом, например, FTPDemo. что они не работают? давай конкретный пример.
исходный вопрос
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1002794455&n=4
← →
karafuto (2001-10-17 10:34) [4]2 nikkie : Можно проекты намылить?
← →
nikkie (2001-10-17 10:38) [5]давай.
← →
nikkie (2001-10-17 11:18) [6]написал сам тестовый примерчик. действительно, использование антифриза с WriteStream не дает эффекта, если OnlyWhenIdle = True. если выставить OnlyWhenIdle = False - все в порядке.
← →
karafuto (2001-10-17 11:23) [7]2 nikkie : Если ты получил мой примерчик, то там OnlyWhenIdle = False.
Пробовал я и True - разницы никакой
← →
nikkie (2001-10-17 15:01) [8]какой-то бардак у меня с почтой творится. получил только что твое письмо - в нем только подпись. пару часов назад сам себе пустое письмо отправлял - до сих пор нет. :(
короче, вот мой пример.
← →
nikkie (2001-10-17 15:02) [9]КЛИЕНТ
type
TForm1 = class(TForm)
TCPClient: TIdTCPClient;
bnSend: TButton;
OpenDialog: TOpenDialog;
IdAntiFreeze1: TIdAntiFreeze;
procedure bnSendClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure TForm1.bnSendClick(Sender: TObject);
var
Stream : TFileStream;
begin
if OpenDialog.Execute then begin
Stream := TFileStream.Create(OpenDialog.FileName, fmOpenRead);
try
TCPClient.Connect;
TCPClient.WriteStream(Stream);
TCPClient.Disconnect;
ShowMessage("Done");
finally
Stream.Free;
end;
end;
end;
← →
nikkie (2001-10-17 15:03) [10]СЕРВЕР
type
TForm1 = class(TForm)
TCPServer: TIdTCPServer;
procedure TCPServerConnect(AThread: TIdPeerThread);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure TForm1.TCPServerConnect(AThread: TIdPeerThread);
var
Stream : TFileStream;
const
FileName = "received.dat";
begin
try
Stream := TFileStream.Create(FileName, fmCreate);
try
AThread.Connection.ReadStream(Stream, -1, True);
finally
Stream.Free;
end;
except
on E : Exception do
ShowMessage(E.Message);
end;
end;
← →
karafuto (2001-10-17 19:05) [11]2 nikkie :
В наших примерах почти нет различий, за исключением
//! OpenWriteBuffer;
WriteStream(src);
//! CloseWriteBuffer;
Я убрал их из кода, и Антифриз стал работать.
Зачем нужны эти OpenWriteBuffer и CloseWriteBuffer я пока не разобрался.
Спасибо за помощь.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.01.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c