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

Вниз

Странная ошибка в программе   Найти похожие ветки 

 
Malder   (2002-01-04 00:55) [0]

рофесcионалы, пожалуйста, помогите. Просто нереальная ошибка какая то. На форме ClientSocket1 и ServerSocket1. Вот код:

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var i:integer;
dop:array of char;
begin
i:=socket.ReceiveLength ;
setlength(dop,i+1);
socket.ReceiveBuf(dop,i);
clientsocket1.Socket.SendBuf(dop,i); // Здесь ошибка
end;

Выползает на последней строчке EAccessViolation.

Если вместо массива char"ов использовать Pchar :-) и GetMem вместо setlength то все тоже самое. Я просто не знаю, что делать. Перепробовал все.
Протестировать можно, например, задавая ServerSocket1.Port:=80, а ClientSocket по фигу куда коннектить (хоть на microsoft.com ). И как только включишь IE и введешь http://127.0.0.1 то все.. будет данная трабла. Я в шоке :-)


 
False_Delirium ©   (2002-01-04 05:41) [1]

Pointer(dop[1])^ - так попробуй...


 
YuriBtr   (2002-01-04 09:45) [2]

Ничего странного .NET
IMHO ServerSocket1ClientRead предназначен для получения данных сервером от клиента. И поэтому мне совсем не понятен смысл процедуры:
clientsocket1.Socket.SendBuf(dop,i); // Здесь ошибка
Зачем???
Ты уже получил данные - они в dop.
Теперь их просто обработай.
Но перед получением сервером данных, ты их должен послать :) через clientsocket1.Socket.SendBuf(dop,i) но это должно быть совсем в другой процедуре. Например при клике на кнопке "послать файл"


 
Malder   (2002-01-04 16:55) [3]

Делал я прогу для того, чтобы через нее проходил трафик. То есть чтобы Explorer связывался НЕ с www.ya.ru (например), а сначала с моей прогой, которая уж связывается с удаленной машиной. То есть типа как прокси получается. Ну нужно мне так. Вы лучше обьясните в чем ОШИБКА ??? Это что, глюк DELPHI ?



Страницы: 1 вся ветка

Текущий архив: 2002.03.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
6-57476
Egor111
2002-01-03 21:29
2002.03.18
Socket


6-57485
ken
2001-12-29 10:55
2002.03.18
как узнать модемный пул при подключении через dialup.


1-57413
Hewlping
2002-03-01 17:57
2002.03.18
СРОЧНО!!!!


14-57493
Igor_thief
2002-01-31 13:56
2002.03.18
Слабаки


4-57578
МишА
2002-01-17 16:45
2002.03.18
Убить консольное приложение