![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование компенента Indy IdTCPServer в зависимости от версии
Pcrepair © (2011-01-21 16:25:00)Добрый день.
Для Д7 есть следующий код:
type
procedure IdTCPServer1Execute(AThread: TIdPeerThread);
var
Form1: TForm1;
Implementation
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
z: string;
fstream:TFileStream;
X,Y:integer;
K:TPoint;
begin
with AThread.Connection do
begin
z := ReadLn;
if SameText(Copy(z, 1, 11), 'get_screen ') then
begin
Log('Запрошен скриншот');
GET_SCREEN;
fStream := TFileStream.Create(ExtractFilePath(Application.ExeName)+'\'+'s.png',
fmOpenRead + fmShareDenyNone);
OpenWriteBuffer;
Log('Передаем файл s.png');
WriteStream(fStream);
Log('Файл передан');
CloseWriteBuffer;
FreeAndNil(fStream);
end;
if SameText(Copy(z, 1, 11), 'mouse_move ') then
begin
z := ReadLn;
if SameText(Copy(z, 1, 8), 'mouse_x ') then
X:=StrToInt(Copy(z,9,4));
z := ReadLn;
if SameText(Copy(z, 1, 8), 'mouse_y ') then
Y:=StrToInt(Copy(z,9,4));
Log('Перемещение мыши');
SetCursorPos(X,Y);
end;
для Д2010 все немного иначе:
type
procedure IdTCPServer1Execute(AContext: TIdContext);
и далее
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
Вопрос: как правильно записать предыдущий код от Д7 для Д2010, компилятор показывает ошибку вот здесь:
OpenWriteBuffer;
Log('Передаем файл s.png');
WriteStream(fStream);
Log('Файл передан');
CloseWriteBuffer;
Непонятно, где в модуле IdTCPServer искать нужные свойства и методы (IdTCPServer.pas = 977 байт всего)
Dushel (2011-03-10 22:00:00) [1]Просто вместо
with AThread.Connection do
надо
with AThread.Connection.IOHandler do
другое дело как с другой стороны принять поток... если есть ответ на этот вопрос УМОЛЯЮ отпишитесь
Dushel (2011-03-10 21:59:00) [2]Просто вместо
with AThread.Connection do
надо
with AThread.Connection.IOHandler do
другое дело как с другой стороны принять поток... если есть ответ на этот вопрос УМОЛЯЮ отпишитесь
Anatoly Podgoretsky (2011-01-25 14:07:00) [3]Есть другие средства кроме Инди, вот с ними и работаем.
RWolf (2011-01-25 14:02:00) [4]копать надо в сторону методов параметра AContext: TIdContext, имхо.
Pcrepair (2011-01-25 13:42:00) [5]что, никто с Д2010 с ИНДИ не работает? Все сидят на Д7?
Pcrepair (2011-01-22 08:52:00) [6]просмотрел IdCustomTCPServer
но все равно неясно, что является в Д2010 аналогом выражения Д7:
OpenWriteBuffer; - ошибка
Log('Передаем файл s.png');
WriteStream(fStream); - ошибка
Log('Файл передан');
CloseWriteBuffer; - ошибка
на сайте ИНДИ тоже нет комментариев
кто знает, как правильно написать этот код в Д2010?
Германн (2011-01-22 01:31:00) [7]Вот ещё одна причина моей привязанности к ICS.
Эта "разношерстая" версионность Indy меня достала сразу как только мне на работе (предпредпоследней) поставили Д2006 (или Д2007, уже не помню точно) и попросили поддерживать проект ушедшего программиста.
С ICS таких проблем у меня ни разу не было.
KilkennyCat (2011-01-22 00:56:00) [8]и еще добавлю, что если
> Непонятно, где в модуле IdTCPServer искать нужные свойства
> и методы
то нехрен лезть в генофонд, вперед на сайт инди и читать справку.
KilkennyCat (2011-01-22 00:54:00) [9]
> IdTCPServer.pas = 977 байт всего
зато IdCustomTCPServer 30 килобайт. нормально? или тоже мало? а если нормально, то помогло?
ваще уже, народ пошел... почти килобайт им мало, типа, в килобайте нихера не сделать... ну так прочитайте их хотя бы, 977 бай-то!