CnPack Forum


 
Subject: [讨论]关于Delphi的一些问题
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-8-29 16:31  Profile | Blog | P.M. 
[讨论]关于Delphi的一些问题

1.
大家有没有比较大规模的用过indy的TCP相关组件(如FTP),我觉得它的使用并不稳定,如循环的取FTP(同一个)文件,到一定数量客户端就死锁了,然后CPU占用很高,由于是随机的,很难跟踪哪里问题。效率低些可以改进,稳定性不好那可是第一大问题啊!不知道大家有没有什么改良方法?或者推荐更好的组件(Delphi似乎很少。。。)?ICS也是个不错的组件,不过它是异步通信的,编程相对不方便。

2.
有时F7调试很方便,但是也有个缺陷,如,像system.pas这种可以说非常稳定的程序,我们一般没有必要进去查看它的调试情况,但是为了调试组件代码,我们有时又要进去,这时很常会跳进system.pas进行调试,很不爽,印象调试效率和心情。不知道有没有办法既调试VCL源码,又不进去部分源码处?而且进去system.pas后你发现源码的位置都对应不上的。。。,BCB也一样,那个AnsiString定义的类,说实在,有什么必要调试啊?但是它老进去,否则你没办法进去你想要的地方。
Top
zzzl (早安的空气)
版主
Rank: 7Rank: 7Rank: 7



UID 590
Digest Posts 0
Credits 399
Posts 199
点点分 399
Reading Access 100
Registered 2004-11-29
Status Offline
Post at 2007-8-29 22:14  Profile | Blog | P.M.  | QQ
indy这个东西沽名钓誉,早就该扔了。我现在也和你一样,发现的太迟了
Top
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-8-29 23:46  Profile | Blog | P.M. 
我想我们应该考虑怎么改进,或者说找出问题怎么产生的,即使未必能解决,也要避免,而不是埋怨哦
今天才知道ICS是可以同步调用的,以前别人用的例子都是异步的,竟然没有深究,哎。。。
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2007-8-30 10:05  Profile | Site | Blog | P.M. 
1、indy是典型的学院派作品,ftp客户端控件很久以前就发现有大量问题,兼容性、稳定性和性能都很差。可以试试synapse,这个是实践派作品,简洁易用。

2、可以试试用安装目录下 Lib\System.dcu 替换掉 Lib\Debug 下的同名文件。在我的机器上是可以解决这个问题的,改完后最好重打开一下工程或者重启ide。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
bahamut8348
灌水司司长
Rank: 6Rank: 6


UID 4743
Digest Posts 14
Credits 337
Posts 79
点点分 337
Reading Access 10
Registered 2007-1-18
Status Offline
Post at 2007-8-30 10:37  Profile | Blog | P.M. 
貌似SYSTEM.PAS用F7是跟踪不进去的吧(BCB不清楚,但是D6和D7是不行的)




做人要厚道,看帖要回贴
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6760
Posts 3556
点点分 6760
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-8-30 13:24  Profile | Blog | P.M. 
跟踪不跟踪进去貌似根据的是此单元是否是debug形的单元以及源码是否找得到吧?
Top
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-8-30 17:22  Profile | Blog | P.M. 


QUOTE:
原帖由 zjy 于 2007-8-30 10:05 发表
1、indy是典型的学院派作品,ftp客户端控件很久以前就发现有大量问题,兼容性、稳定性和性能都很差。可以试试synapse,这个是实践派作品,简洁易用。

2、可以试试用安装目录下 Lib\System.dcu 替换掉 Lib\Debug 下的同名文 ...

1.那indy問題主要來自哪里呢?阻塞?還是防阻塞處理不好?

2.我試過了,不過當時我沒有重啟IDE,不行,不知道是不是這樣原因造成不行。
Top
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-8-30 17:23  Profile | Blog | P.M. 


QUOTE:
原帖由 bahamut8348 于 2007-8-30 10:37 发表
貌似SYSTEM.PAS用F7是跟踪不进去的吧(BCB不清楚,但是D6和D7是不行的)

工程屬性設置了【Use Debug DCUs】就可以進去了!
Top
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-8-30 17:28  Profile | Blog | P.M. 


QUOTE:
原帖由 zjy 于 2007-8-30 10:05 发表
1、indy是典型的学院派作品,ftp客户端控件很久以前就发现有大量问题,兼容性、稳定性和性能都很差。可以试试synapse,这个是实践派作品,简洁易用。

2、可以试试用安装目录下 Lib\System.dcu 替换掉 Lib\Debug 下的同名文 ...

再補充:
1.我以前網上找到的資料怎么都說它好,沒有說它不好啊~哎,7456
2.BCB那個怎么樣呢?遇到AnsiString構造時,老是進去dstring.h,不知道有沒有辦法解決?
Top
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-8-30 17:34  Profile | Blog | P.M. 
在Delphi第二關問題解決了,的確重開工程可以了。
Top
niaoge
灌水司司长
Rank: 6Rank: 6



UID 9910
Digest Posts 0
Credits 438
Posts 143
点点分 438
Reading Access 10
Registered 2007-4-8
Status Offline
Post at 2007-8-30 22:00  Profile | Blog | P.M. 
因为找不到其它的控件,或者又怕用了别的控件三两年没得技术支持,没得更新,
所以我只能一直硬着头皮用indy,  indy全,大的方向抓得还可以,不过如上面所说bug很多,可以毫不夸张地说用到哪里改到哪里,甚至有些函数或过程需要重写,
如zjy所说,indy确实不属于实践,问题也大部分出在应用这一块,
比如说indy 的 email解码,大的方向确实对的,也很简练,但只能解英文的码,中英文混合或是双字节解不了
也许写的人根本就没到不同的机器上调试过
可能indy plus会不错,该改的地方改了,但是要money,不像咱cw,cw就是cw,没有cw plus
Top
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-8-30 22:37  Profile | Blog | P.M. 
indy plus的與indy不一樣的?而且下載了安裝源碼都有啊?
其他組件都無所謂,如果TCP和FTP穩定我覺得就足夠了。
Top
niaoge
灌水司司长
Rank: 6Rank: 6



UID 9910
Digest Posts 0
Credits 438
Posts 143
点点分 438
Reading Access 10
Registered 2007-4-8
Status Offline
Post at 2007-8-30 23:50  Profile | Blog | P.M. 


QUOTE:
原帖由 jAmEs_ 于 2007-8-30 22:37 发表
indy plus的與indy不一樣的?而且下載了安裝源碼都有啊?
其他組件都無所謂,如果TCP和FTP穩定我覺得就足夠了。

没有买过,不知道是否这些bug 已改好了,
记得2003 delphi最佳插件,indy plus(注:不是indy)是通信类的第一名,
虽然没有买过,但我想,商业控件,既然卖钱,总不能把不能用的东东拿来卖吧

[ 本帖最后由 niaoge 于 2007-8-30 23:52 编辑 ]
Top
zzzl (早安的空气)
版主
Rank: 7Rank: 7Rank: 7



UID 590
Digest Posts 0
Credits 399
Posts 199
点点分 399
Reading Access 100
Registered 2004-11-29
Status Offline
Post at 2007-8-31 09:37  Profile | Blog | P.M.  | QQ
晕,有那个精力改indy,不如换个控件算了
Top
gz_runwe
灌水科科长
Rank: 3Rank: 3



UID 12086
Digest Posts 0
Credits 108
Posts 47
点点分 108
Reading Access 10
Registered 2007-4-27
Status Offline
Post at 2007-8-31 17:07  Profile | Blog | P.M. 
indy不好用,又庞大,又晦涩

Top
jAmEs_
灌水部部长
Rank: 8Rank: 8



Medal No.1  
UID 886
Digest Posts 0
Credits 1134
Posts 600
点点分 1134
Reading Access 10
Registered 2005-6-5
Location 广东
Status Offline
Post at 2007-9-4 10:52  Profile | Blog | P.M. 
其实我想讨论究竟什么原因引起indy不稳定哦,大家能否给点实在些的意见,呵呵
如:
是TCP阻塞不稳定还是indy因为处理界面问题导致不稳定?(因为我即使不让画面动,还是不稳定)
理想状态下,阻塞和非阻塞会不会不稳定?
Top
shenloqi
灌水处处长
Rank: 4



UID 34
Digest Posts 1
Credits 287
Posts 179
点点分 287
Reading Access 10
Registered 2003-3-15
Status Offline
Post at 2007-9-4 17:18  Profile | P.M. 
Indy有不少组件做的有些粗糙,其中FTP和HTTP服务器都很粗糙的,Indy的机制的确不能应付大型的网络请求,但是对付一般的情况是没有问题的。Indy自己有一个AntiFreezen组件,可以防止界面死锁的。你可以用Adplus在你的程序死锁,CPU占100%的时候做一个Dump,然后用Windbg来看堆栈和其他信息,判断问题出在哪里。
Top
 




All times are GMT++8, the time now is 2024-5-5 08:06

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.008884 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP