|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2018/11/6 13:10:06 |
标题: |
TIdTCPServer 在 dll 中使用的问题 |
浏览:788 |
|
加入我的收藏 |
楼主: |
我用 TIdTCPServer 来监测硬件发送过来的信息。
CPU 会逐渐增长至100%,在 OnExecute 中,添加延时: IndySleep(100); CPU就不会增长了。
但发现一个问题。
TIdTCPServer 用在一个EXE中,是没有问题的。 但封装在一个DLL中,就会导致程序崩溃。 不知道哪位同学遇到过这样的问题,如何解决?
----------------------------------------------
武汉天气不好 |
作者: |
|
2018/11/6 16:14:47 |
1楼: |
找到问题原因了。资源释放问题。 EXE中,资源即使没有释放,因为EXE结束了,整个资源就都被系统释放了,系统也不会报错。 DLL中,如果资源没有释放,释放DLL时,因为有的资源还在使用DLL,Delphi不会自动释放这些资源,所以报错了。
----------------------------------------------
武汉天气不好
|
作者: |
|
2018/11/7 1:02:32 |
2楼: |
也不知道兰州到底要解释什么东西。 对于进程内的dll来说,和普通exe没什么区别。 除非是进程外的dll。
另外,你做tcpserver居然用indy? 祝你好运吧。
----------------------------------------------
--
|
|