Entwickler-Ecke
Internet / Netzwerk - Delphi7-Code zu RAD Studio 10.4 konvertieren
kissgdr - Sa 02.01.21 23:44
Titel: Delphi7-Code zu RAD Studio 10.4 konvertieren
Hi,
Ich habe ein sehr gut funktionierendes Programm, um Schach über ein Netzwerk zu spielen.
Das Programm wurde in Delphi7 geschrieben und verwendet das TCP/IP-Protokoll.
Ich möchte dieses Programm ändern, aber anstelle von Delphi7 mit RAD Studio Delphi (10.4 Sydney)
Ich habe zuvor einfachere Programme von Delphi7 in RAD Studio umgeschrieben.
Aber jetzt kann ich nicht weitergehen.
RAD Studio erkennt die im Programm verwendeten
TServerSocket und
TClientSocket Komponenten nicht.
(Die Meldung 'Class TServerSocket not Found' wird angezeigt.)
Übrigens der
TServerSocket ist in RAD Studio als
System.Win.ScktComp.TServerSocket in rtl270.bpl verfügbar, aber es befindet sich nicht auf der Palette. Deshalb kann ich es nicht auf Form setzen.
Warten auf Ihre Idee, mfg.
kissg
Moderiert von Th69: Titel geändert (war "Delphi7 konvert RAD Studio").
Moderiert von Th69: Delphi-Tags hinzugefügt
jaenicke - Sa 02.01.21 23:51
Du musst in den aktuellen Versionen von Delphi das entsprechende Package manuell installieren, weil die Komponenten veraltet sind.
Für Delphi 10.4 ist das:
Quelltext
1:
| C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dclsockets270.bpl |
Oder du erstellst die Komponenten manuell und legst sie gar nicht auf dein Formular.
kissgdr - So 03.01.21 20:07
Sebastian!
Danke für die schnelle Antwort. Das Problem perfekt gelöst!!
Ich bin auch der Meinung, dass die Socket-Technologie für die Verarbeitung von TCP/IP veraltet ist, da sie keine IPv6-Adressen verarbeiten kann.
Welche Technik empfehlst Du? Wenn ich das Programm neu schreiben muss, dies ist kein besonderes Problem mehr.
(Ich würde ein gutes Tutorial zum neuen Thema sehr begrüßen.)
Nochmals vielen Dank für die Hilfe.
kissg
jaenicke - So 03.01.21 20:13
Indy (TIdTCPServer / TIdTCPClient): Das ist bei Delphi schon dabei, setzt aber auf blockierende Sockets, was bei Verbindungsabbrüchen zum Warten bis zum Timeout führen kann. Wenn man dann das Programm beenden möchte, muss man ggf. kurz warten. Dafür ist es recht einfach zu verwenden.
ICS: Hier werden stattdessen nicht-blockierende Sockets verwendet. Die Kommunikation erfolgt deshalb asynchron per Messages, was für viele erst einmal ungewohnt ist (und daher evtl. etwas mehr Zeit zur Einarbeitung braucht). Es ist aber kostenlos inkl. Quelltext.
http://www.overbyte.eu/frame_index.html?redirTo=/products/ics.html
kissgdr - Mo 04.01.21 16:28
Nochmals Danke sehr!
Ich werde Indy studieren.
Moderiert von Th69: Frage zu neuem Problem entfernt.
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!