将 TServerSocket 应用程序从 D5 移动到 D2007 有什么问题吗?
我简单地谷歌了一下,什么也没找到,但我觉得我应该问一下。 我并不是真的期望有什么事情,但宁愿现在问一个没有答案的问题,也不愿在一切都出了问题时才问问题,然后发现每个人都知道“陷阱”......!
为了使整体支持/开发生活更轻松(并引入 madExcept 等),我将采用用 D5 编写的半 GUI 应用程序(使用 NativeDB 连接到 ASA6)并将其移植到 D2007,最终将其转变进入控制台应用程序和/或服务。 (当前的 GUI 只不过是一个美化的启动/停止按钮和一个活动日志)。
它是一个经典的 TServerSocket 应用程序,监听指定的端口并在客户端连接时执行各种操作。 我预计 NativeDB 方面不会出现任何大问题,但我想知道 D5 和 D2007 之间 TServerSocket 是否有任何变化(错误修复、改进)?
我们不使用阻塞套接字、Indy 等 - 它只是来自 scktcomp 单元的 TServerSocket,直接从 D5 Enterprise 盒子中取出。 我不打算对代码进行重大更改,除非 D2007 下的 TServerSocket 有问题。 :-)
I've done a brief Google around and found nothing but I feel I ought to ask. I'm not really expecting there to be anything, but would rather ask a question with no answers now than ask the question when it's all going wrong and discover that EVERYONE knew about a 'gotcha'...!
To make overall support/development life easier (and to bring-in madExcept etc), I'm about to take a semi-GUI app written in D5 (using NativeDB to connect to ASA6) and port it to D2007, eventually to turn it into a console app and/or a service. (The present GUI is little more than than a glorifed start/stop button and an activity log).
It's a classic TServerSocket application, listening on a specified port and running-off to do various things when clients connect. I'm not expecting any huge problems with the NativeDB side of things, but I wondered if there were any changes (bug fixes, improvements) between D5 and D2007 as far as TServerSocket goes?
We don't use blocking sockets, Indy etc - it's just TServerSocket from the scktcomp unit, straight out of the D5 Enterprise box. I'm not looking to change the code significantly unless there is something very wrong with TServerSocket under D2007. :-)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为 TServerSocket 仍然发布,但不再默认安装。 据我所知,没有其他问题。
由于这些组件已被弃用,您可能需要考虑迁移到 Indy,ICS 或 Synapse 从长远来看。
I think TServerSocket still ships, but isn't installed by default any more. No other gotchas that I know about.
Since these components are deprecated, you might want to look at moving to Indy, ICS or Synapse in the longer term.
使用 ICS 和 TServerSocket / TClientSocket 实现命令行应用程序可能需要创建一个不可见的窗口,因为这些组件使用 Windows 消息进行异步操作。 我自己还没有尝试过,但也许它记录在 ICS 或 sckcomp 示例或来源中。
Implementing a command line application with ICS and TServerSocket / TClientSocket might require to create an invisible window, because these components use windows messages for asynchronous operation. I have not tried it myself yet, but maybe it is documented in the ICS or sckcomp examples or sources.