Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.10;
Скачать: CL | DM;

Вниз

Снова АнтиФриз(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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
3-28419
Denis Proshkin
2001-12-06 15:41
2002.01.10
фильтрация по Date


6-28525
xnum
2001-10-16 11:36
2002.01.10
Скрипт на Дельфах... перспекива есть?


3-28421
NLO
2001-12-07 12:29
2002.01.10
Выполнить start transaction commit в процедуре InterBase 6


4-28555
Di_wind
2001-11-07 19:02
2002.01.10
Процесс


1-28495
dimonf
2001-12-22 21:49
2002.01.10
Ноаод, у меня вопрос как не выводит TPanel на ScrollBox?