Autor Beitrag
kissgdr
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: So 03.01.21 00:44 
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 user profile iconTh69: Titel geändert (war "Delphi7 konvert RAD Studio").
Moderiert von user profile iconTh69: Delphi-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18988
Erhaltene Danke: 1685

W10 x64 (Chrome, Edge)
Delphi 10.4 Ent, Oxygene, C# (VS 2019), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 03.01.21 00: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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: So 03.01.21 21: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18988
Erhaltene Danke: 1685

W10 x64 (Chrome, Edge)
Delphi 10.4 Ent, Oxygene, C# (VS 2019), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 03.01.21 21: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.
www.overbyte.eu/fram...o=/products/ics.html
kissgdr Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 04.01.21 17:28 
Nochmals Danke sehr!

Ich werde Indy studieren.

Moderiert von user profile iconTh69: Frage zu neuem Problem entfernt.