2009-03-24 11 views
3

Ich habe ein kurzes Google gemacht und nichts gefunden, aber ich fühle, dass ich fragen sollte. Ich erwarte nicht wirklich, dass da etwas ist, aber ich würde lieber eine Frage ohne Antworten stellen, als die Frage zu stellen, wenn alles schief geht und entdecken, dass JEDER von einem 'Gotcha' gewusst hat ...!Irgendwelche Fehler beim Verschieben der TServerSocket-App von D5 auf D2007?

Um das allgemeine Support-/Entwicklungsleben zu erleichtern (und madExcept usw. mitzubringen), nehme ich eine Semi-GUI-App in D5 (unter Verwendung von NativeDB zur Verbindung mit ASA6) und portiere sie nach D2007. um sie schließlich in eine Konsolen-App und/oder einen Dienst umzuwandeln. (Die vorliegende GUI ist wenig mehr als eine verherrlichte Start/Stopp-Taste und ein Aktivitätsprotokoll).

Es handelt sich um eine klassische TServerSocket-Anwendung, die auf einem bestimmten Port abhört und verschiedene Funktionen ausführt, wenn Clients eine Verbindung herstellen. Ich erwarte keine großen Probleme mit der NativeDB-Seite der Dinge, aber ich fragte mich, ob es irgendwelche Änderungen (Fehlerbehebungen, Verbesserungen) zwischen D5 und D2007 gab, soweit TServerSocket geht?

Wir verwenden keine blockierenden Sockets, Indy etc - es ist nur TServerSocket von der scktcomp-Einheit, direkt aus der D5 Enterprise-Box. Ich möchte den Code nicht wesentlich ändern, wenn nicht etwas mit TServerSocket unter D2007 nicht stimmt. :-)

Antwort

6

Ich denke TServerSocket wird noch ausgeliefert, ist aber nicht mehr installed by default. Keine anderen Fehler, die ich kenne.

Da diese Komponenten veraltet sind, möchten Sie möglicherweise längerfristig auf einen Umzug nach Indy, ICS oder Synapse schauen.

+0

Danke Bruce. Ich werde mir Ihre Vorschläge ansehen - ich kenne die anderen 2 nicht, aber ich habe ältere Versionen von Indy in kleinen Dosen verwendet. Ich weiß nicht, ob Indy nicht-blockierende Sockets machen kann, aber wenn nicht, dann wird es vielleicht einer der anderen tun. Danke vielmals! – robsoft

+0

Indy und Synapse blockieren beide. ICS ist nicht. –

+0

Danke Bruce - Ich werde ICS betrachten. Weißt du, ob es einen Grund gibt, warum TServerSocket nicht mehr unterstützt wird? Egal - schätze deine Hilfe, danke! – robsoft

1

Für die Implementierung einer Befehlszeilenanwendung mit ICS und TServerSocket/TClientSocket muss möglicherweise ein unsichtbares Fenster erstellt werden, da diese Komponenten Windows-Meldungen für den asynchronen Betrieb verwenden. Ich habe es selbst noch nicht ausprobiert, aber vielleicht ist es in den Beispielen oder Quellen von ICS oder sckcomp dokumentiert.