2009-03-24 5 views
3

J'ai fait un bref Google autour et n'a rien trouvé mais je sens que je devrais demander. Je ne m'attends pas vraiment à ce qu'il y ait quelque chose, mais je préférerais poser une question sans réponses maintenant que de poser la question quand tout va mal et de découvrir que TOUT LE MONDE connaissait un «getcha» ...! Pour faciliter la vie de développement et de support (et pour introduire madExcept etc), je suis sur le point de prendre une application semi-GUI écrite en D5 (en utilisant NativeDB pour se connecter à ASA6) et de la porter en D2007, éventuellement pour le transformer en une application de console et/ou un service. (L'interface graphique actuelle est un peu plus qu'un bouton de démarrage/arrêt glorifié et un journal d'activité).Avez-vous déjà déplacé l'application TServerSocket de D5 à D2007?

C'est une application TServerSocket classique, qui écoute sur un port spécifié et qui se déconnecte pour faire différentes choses lorsque les clients se connectent. Je ne m'attends pas à d'énormes problèmes avec le côté de NativeDB, mais je me demandais s'il y avait des changements (corrections de bugs, améliorations) entre D5 et D2007 aussi loin que TServerSocket va? Nous n'utilisons pas de socket de blocage, Indy etc - c'est TServerSocket de l'unité scktcomp, tout droit sorti de la boîte D5 Enterprise. Je ne cherche pas à changer le code de manière significative à moins qu'il y ait quelque chose de très mauvais avec TServerSocket sous D2007. :-)

Répondre

6

Je pense que TServerSocket est toujours disponible, mais il n'est plus installed by default. Pas d'autres pièges que je connais. Comme ces composants sont obsolètes, vous pouvez envisager de passer à Indy, ICS ou Synapse à plus long terme

+0

Merci Bruce. Je vais regarder vos suggestions - je ne connais pas les 2 autres mais j'ai utilisé des versions plus anciennes d'Indy à petites doses. Je ne sais pas si Indy peut faire des sockets non bloquantes, mais sinon, peut-être que l'un des autres le fera. Merci beaucoup! – robsoft

+0

Indy et Synapse bloquent tous les deux. ICS n'est pas. –

+0

Merci Bruce - Je regarderai ICS. Savez-vous s'il y a une raison pour laquelle TServerSocket est obsolète - c'est juste que les gens ont tendance à utiliser Indy à la place maintenant? Peu importe - appréciez votre aide, merci! – robsoft

1

L'implémentation d'une application de ligne de commande avec ICS et TServerSocket/TClientSocket peut nécessiter la création d'une fenêtre invisible, car ces composants utilisent des messages Windows pour une opération asynchrone. Je ne l'ai pas encore essayé moi-même, mais peut-être est-il documenté dans les exemples ou les sources d'ICS ou de sckcomp.

Questions connexes