Entwickler-Ecke
Delphi Tutorials - DXPlay – Die Kompo für’s Web
GTA-Place - Mi 05.10.05 18:34
Titel: DXPlay – Die Kompo für’s Web
[meta]DX DirectX Direct X Play DirectPlay TCP-IP [/meta]
Ich habe ein Tutorial zur DXPlay-Komponente von DelphiX geschrieben. Das Tutorial ist hier zu finden:
http://www.gym-wgt.fh-weingarten.de/DelphiX/TutorialDelphiX.html
Fragen ins Delphi-Forum, Kritik hier in diesen Thread.
Update 16.12.2006:
- Fehler korriegert (DPID_ALLPLAYERS)
- DXPlay.Close hinzugefügt
- Demo-Source angehängt
Update 17.12.2006:
- GUID hinzugefügt
- Als Website ausgelagert
- geshi als Highlighter benutzt
Moderiert von jasocul: Beiträge zusammengefasst.
Moderiert von Udontknow: Meta-Tag ergänzt, Rechtschreibfehler korrigiert.
F34r0fTh3D4rk - Mo 31.10.05 18:02
sehr schon geschrieben das tutorial, nur ist mir der sinn von :Msg: Array[0..0] of Char; noch nicht ganz klar, warum kein dynamisches array ?
GTA-Place - Di 01.11.05 00:43
Danke.
Ich hab das auch nur aus nem anderen Tut übernommen.
Da war die Rede davon, dass man so nur das sendet, was auch wirklich nötig ist.
CK_CK - Mi 09.11.05 13:15
Hi!
Erstmal: Dein Tutorial ist große klasse... :wink:
Ich hab' zwei Fehler gefunden:
- Irgendwo sollte noch "DPlay.Close;" stehen...
- Wenn das Edit-Feld leer ist sollte keine Nachricht geschickt werden können...
(Sind nur Kleinigkeiten, bei denen es mir schon peinlich ist, sie zu schreiben... :oops:)
Also... warum ich eigentlich schreibe...:
Der Chat funktioniert im Netzwerk perfekt...aber leider nicht über das Internet... Wenn ich da meine IP-Adresse eingebe findet das Programm meine Sessions nicht.
Ich habe einen Router (Eine FritzBox die als Router läuft) könnte das daran liegen? Wie kann ich das freigeben und welche Ports muss ich freigeben, bzw. wie stelle ich in dem Chat den richtigen Port ein?
Naja, vielleicht kann mir jemand helfen... *hoff*
Gruß,
CK_CK
F34r0fTh3D4rk - Mi 09.11.05 15:35
wenn du einen router hast, kannst du keinen chat eröffnen, weil man dich über deine ip nicht direkt erreichen kann 8)
CK_CK - Mi 09.11.05 16:42
F34r0fTh3D4rk hat folgendes geschrieben: |
wenn du einen router hast, kannst du keinen chat eröffnen, weil man dich über deine ip nicht direkt erreichen kann 8) |
ICQ und Konsorten funktionieren doch auch... *heul*
Es muss doch irgendwie möglich sein...
CK_CK
F34r0fTh3D4rk - Mi 09.11.05 19:09
bei icq bist ja auch du net der server, versuch mal nen cs server oder so aufzumachen, da wird dich keiner finden :)
Udontknow - Do 10.11.05 12:45
Das Problem bzw. dessen Lösung sollte natürlich trotzdem hier im Tutorial erwähnt werden. :)
Cu,
Udontknow
MKX - Mo 28.11.05 18:30
Wenn ich DelphiX (bzw. UnDelphiX) installiere, bekomme ich in der Leiste überhaupt kein Symbol für DXPlay!!
GTA-Place - Mo 28.11.05 19:03
Schreib das Problem bitte ins Delphi-Forum.
bjd - Mi 01.02.06 16:31
Bei mir meldet der Compiler, in diesem Script:
Quelltext
1:
| DPlay1.SendMessage(DPID_ALLPLAYERS, ChatMsg, MsgSize); |
Quelltext
1:
| Undefinierbarer Bezeichner: 'DPID_ALLPLAYERS' |
Ich hab' noch Delphi4, aber daran kann's ja nicht liegen! :?
Wäre nett, wenn mir jemand helfen könnte. :oops:
bjd - Mi 01.02.06 17:02
Titel: Gelöst
Hi, noch mal!
Mein Problem hat sich gelöst: Ich mach 's jetzt so:
Delphi-Quelltext
1: 2:
| For I := 0 To DPlay1.Players.Count-1 Do DPlay1.SendMessage(DPlay1.Players.Items[I].ID, ChatMsg, MsgSize); |
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt
Darth Sitthiander - Fr 03.03.06 18:51
Weiss nicht ab die frage schon irgendwo gestellt wurde. Also, wär nett wenn ihr mir sagen könnt wie ich die namen derer die im chat sind in eine listbox eintrage, so dass sie immer aktualisiert wird, wenn ein spieler den raum verlässt oder betritt. Und wie ich auch noch den namen des servers oben in ein label bekomme. Danke :)
GTA-Place - Fr 03.03.06 19:30
Das mit den Usern müsste so gehen:
Delphi-Quelltext
1: 2:
| for I := 0 to DPlay1.Players.Count-1 do ListBox.Items.Add(DPlay1.Players.Items[I].Name); |
Müsste eigentlich in OnAddPlayer bzw. OnDeletePlayer rein.
Darth Sitthiander - Fr 03.03.06 21:02
Danke, aber er sagt mir folgendes:
Quelltext
1:
| [Fehler] fertigchat.pas(131): Undefinierter Bezeichner: 'Name' |
und das in dieser Zeile:
Quelltext
1:
| ListBox1.Items.Add(DxPlay1.Players.Items[i][b].Name[/b]); |
GTA-Place - Sa 04.03.06 01:21
Vielleicht ist ja das richtig:
Delphi-Quelltext
1: 2:
| for I := 0 to DPlay1.Players.Count-1 do ListBox.Items.Add(DPlay1.Players.Items[I].DisplayName); |
Delphi_Schüler - Di 07.03.06 23:27
gibt es eine DelphiX oder UnDelphiX Version für Delphi 7 ?
schlumpf070 - Mi 08.03.06 17:23
Titel: delphi 2006
gibts die komponente auch für delphi 2006 ?
Delphi_Schüler - Fr 10.03.06 16:40
Das hab ich schon, aber es gibt nur instal 3, 4 und 5 in der zip datei und bei denen kommt die meldung, dass VCL30.dpl fehlt -.-
Darth Sitthiander - Sa 11.03.06 22:45
bei mir ist es jetzt so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var i: Integer; begin for i := 0 to DxPlay1.Players.Count-1 do begin try Listbox1.Items.Add(DXPLay1.Players.Players[i].Name); Listbar1.Items.Add(DXPLay1.Players.Players[i].Name+' hat den Raum betreten.') finally
end; end; end; |
und das funktioniert. Nur wenn ich das auch bei delete player reintuhe, dann löscht er irgendwie den player nicht aus der listbox1. Bitte helfen. Danke.
Moderiert von raziel: Code- durch Delphi-Tags ersetzt
bruce185 - So 07.05.06 04:08
hallo,
ich habe mir auch die Komponente UnDelphiX gedownloadet, aber wenn ich des DelphiX_for7 ausführe auf Compilieren, dann kommt dieser Fehler:
Delphi-Quelltext
1: 2:
| Erzeugen [Fataler Fehler] DXConsts.pas(103): Ausgabedatei 'E:\Output\DXConsts.dcu' kann nicht erstellt werden |
wieso kommt der Fehler? an was kann des liegen?
ich benutze Delphi7
ich danke euch schonmal :wink:
Gruss Andreas
bruce185 - So 07.05.06 21:47
Hallo nachmal,
bei mir geht der Chat net, wenn ich z.B. im Chat drin bin und eine Nachricht eingebe, dann erscheint beim andere Rechner ein Fenster und da steht "Illegale Message Form"
wisst ihr woran das liegen kann?
Ironwulf - Di 22.08.06 04:40
wie kann ich die verbindung sauber trennen?
wenn ich es mit DXPLay1.Close tue erhalt ich eine Zugriffsverletzung, das kann aber auch daran liegen das ich es im onmessage aufrufe, nur leider fällt mir grad keine möglichkeit ein das dort irgendwie nach dem onmessage aufzurufen, hat jemand eine idee?
GTA-Place - Sa 16.12.06 21:53
DxPlay.Close in OnDestroy des Forms verwenden.
Ich habe oben im Tutorial den Fehler verbessert, dass DPID_ALLPLAYERS unbekannt war, ein paar Änderungen vorgenommen und einen Beispiel-Source angehängt.
Memorius - Mo 04.06.07 23:16
Hallo,
Gibt es auch DelphiX für Delphi 4 pro?
übrigens:
ich komme nicht auf die seite
http://www.turbo.gamedev.net ... Die seite kann nicht angezeigt werden.
Was is da loos? Ist die seite veraltet??
C YA
GTA-Place - So 10.06.07 09:55
Die Firma GameDev gibt es nicht mehr.
Hier [
http://www.micrel.cz/Dx/] gibt es DelphiX für Delphi 3 - 7 + 2005/2006.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!