Форум: "Игры";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
ВнизDxPlay (пересылка файлов) Найти похожие ветки
← →
Mr.Kirya (2002-09-12 21:58) [0]Нужно переслать по сети фаил.Для пересылки используется компонент dxPlay.
Я пытаюсь реализовать это следующим образом:
const
DXFILE_MESSAGE=2;
type
TDXFileMessage = record
dwType: DWORD;
TextCode:TMemoryStream;
end;
procedure TMainForm.DXPlay1AddPlayer(Sender: TObject; Player: TDXPlayPlayer);
var
Msg2: ^TDXfileMESSAGE;
msgSize2: Integer;
begin
msgSize2:= SizeOf( TDXFileMESSAGE );
GetMem(Msg2, MsgSize2);
try
msg2.dwType := DXFile_MESSAGE;
msg2.TextCode.Create;
msg2.TextCode.LoadFromFile("images/user.bmp");
DXPlay1.SendMessage(DPID_ALLPLAYERS,msg2,msgsize2);
finally
FreeMem(Msg2);
msg2.TextCode.Free;
end;
end;
procedure TMainForm.DXPlay1Message(Sender: TObject; Player: TDXPlayPlayer; Data: Pointer;
DataSize: Integer);
begin
TDXFileMessage( Data^ ).textcode.SaveToFile("images/"+inttostr(Player.id)+".bmp");
end;
После запуска возникает ошибка - access violation at....
Вроде бы все логично...не могу понять в чем ошибка:(
← →
pasha676 (2002-09-13 09:19) [1]Я шизею, дорогая редакция. Нет не с самого текста, я в нем с утра не разберусь, а с подхода. Неужели чтобы переслать файл по сети нужно лезть в DirectX и DirectPlay? Как бы существуют API функции копирования файлов, через стримы можно, через сокеты в конце концов. А через ДиректХа - ну это редкостно оригинально конечно, но на фига?
← →
Mr.Kirya (2002-09-13 17:44) [2]Да как бы на самом деле я чат пишу с использованием dxPlay.Tам у каждого юзверя должна быть своя картинка.Ее надо пересылать ко всем пользователям...вот:)А раз под dxplay, так и файлы с его помощью надо..
← →
Drunken Cat (2002-09-13 21:14) [3]Мдя... Ты бы всетки решил чего ты хочешь пересылать, файл, или всего лишь адресс ;) Ведь TextCode у тебя всего-лишь указатель :) Ради развлечения, попробуй посмотреть чему у тебя равен SizeOf( TDXFileMESSAGE ) думается будет равен 8 байтам. Может, коль уж начал так делать, будешь пересылать тот кусок на который указывает пропертя Memory? :) Вощем намудрил ты тут весьма... аж не знаю как :)))
← →
Mr.Kirya (2002-09-13 23:51) [4]Thanks за совет проверю.
← →
Mr.Kirya (2002-09-15 12:08) [5]Блин, всеровно нифига не получается...я уже такого наворотил..
Пробовал побайтно пересылать и всеровно не получается:((
Ну делается же это как-то через DxPlay!?А как тогда в игрушках в которых сетевая игра сделана именно черех dxplay карты пересылают???
← →
Drunken Cat (2002-09-16 00:00) [6]Наворотил, поэтому и не получается ;) На DelphGFX кажись есть пример работы с DXPlay. Пример обмена тестовыми сообщениями (чат, короче) посмотри...
← →
Mr.Kirya (2002-09-16 20:38) [7]Да я видед, видел.Сам чат это совершенно элементарно, а
вот пересылка файлов...
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c