Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
14-63825
LazorenkoX
2003-02-04 15:14
2003.02.20
Quick Reports


1-63627
RDA
2003-02-11 13:31
2003.02.20
Работа с Microsoft Word


7-63885
Tolea
2002-12-18 16:13
2003.02.20
Печать текста не на локальном принтере


4-63907
Сергей
2003-01-10 07:11
2003.02.20
Программное управление дочерними окнами чужого приложения


1-63638
Sour
2003-02-09 08:04
2003.02.20
Drag&Drop





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский