DELPHI真是垃圾!自带的VCL都BUG一大堆! ( 积分: 50 )

  • 主题发起人 主题发起人 dazzling
  • 开始时间 开始时间
MF,AIX什么东西我们确实没听说过,还有什么核心,不用PC,JAVA的,这个东西取一千扣一元确实高端
 
说到调程序虽然你是金融行业的但你根本不会
我调程序出会么错从来不会怪DELPHI(以前用其它烂工具怪过)
DELPHI这么好的工具如果有人怪他的调不出错来了只能说这个人智商不够

给你看看我是怎么遇到问题调试的:

procedure CreateNumber;
var
Times, I, H, V, Num: Integer;
begin
I := 0;
Times := 0;
repeat
Inc(Times);
Randomize;
H := Random(9);
V := Random(9);
//ShowMessage(IntToStr(H));
//ShowMessage(IntToStr(V));
Num := 1 + Random(9);
if NumArray[H, V] <> 0 then Continue;
NumArray[H, V] := Num;
DrawNumber(H, V);
Inc(I);
until (I = 3) or (Times > 1000);
end;

这个过程的功能是在二维矩阵上随机填三个数字
可是结果却是只填一个数字。
但是我加上上面SHOWMESSAGE后,就会正确的随机填三个随机数字
注释掉SHOWMESSAGE又只显一个数了。
我疑或了几分钟就找到原因了。
我调程序其它的不会,只会用SHOWMESSGE,但是我确找到了原因:
原来是Randomize的原因。因为这函数是从系统时间里生成随机初始值的
没有SHOWMSG时,两个循环的时差很小,随机初始值结果一样。所以
RANDOM的反回值始终一样,所以始终就只能生成一个数了。
当加上SHOWMSG后,时间差大了,随机初始值不同。RANDOM的反回值也不同
就会得到三个数字了。最后我把Randomize放到循环外就一切OK了。
类似的调试技术我总结了很多。这个仅举一例。
 
to dazzling
没有事情我去你家作什么呀
 
to 楼主
银行核心业务没有外包的?这个我就不清楚了。我原来在的中联可是主要做银行业务
的软件公司。不过,很多年不做银行业务了,不知道现在的核心业务指的什么。按我
的理解,本质上还是客户管理、会计帐管理、机构人员管理、现金管理、凭证管理,
以及一些公共信息什么的,其他的什么储蓄、贷款、清算、银行卡交易都是在这个基
础上完成的。要说保密,呵呵,系统结构考虑挺全面,倒是挺安全的,但是,对于内
部了解系统的人来说,突破也不是不可能的。至于有没有用Java的就不知道了,当时
我们用的都是C,说真的,C的安全性主要还是要看开发者的能力了。

外行话,楼主也别当真。
 
起这个标题本身就要做好被骂的准备。
lz的目的到底是为了解决问题还是斗气?
 
我顶个肺哦
 
楼主去2ccc.com下一个EurekaLog吧,用它查查你报错的代码行!然后才好分析。Indy我也用了很久了,貌似从未发现楼主所说的问题。另外楼主的代码看不出问题了,感觉是你贴的代码以外的代码产生的错误!楼主去试试EurekaLog吧,超棒的查错工具!
 
冲动是魔鬼.....
学习....
 
不对呀,楼主2003年就注册了,登录1284次.你是借别人的帐号吧.
 
呵呵,静下心来,少些抱怨,多些努力,就没有那么多问题了。
 
来自:白河愁, 时间:2007-12-18 23:15:43, ID:3861103
对一个使用线程的东西使用 application.ProcessMessages, why?
-------------
冒似有道理,可惜经不起测试









来自:tseug, 时间:2007-12-19 8:43:42, ID:3861120
to 楼主
银行核心业务没有外包的?这个我就不清楚了。我原来在的中联可是主要做银行业务
的软件公司。不过,....
--------------------------
中联前几年还是很牛的,现在被和记黄埔(?)收购以后,银行的单子非常少了。前几年如日中天的时候,里面出现了不了牛人,现今有不少人都在国外了。
你搞过银行系统,应该知道基本帐户的架构、银行卡结算等业务,你知道公司帐户与个人帐户在组织结构上有何不同?你去商场买东西刷卡,售货员给你小条。这个过程系统都做了些什么?银行与商场如何结算?银行与银联如何结算?它们之间的税率如何承兑?国际业务中的多币种交易如何实现?银行怎样控制汇率获得最大收益?银联的通讯协议是怎样的?信用卡同借记卡、联谊卡的费用结算有何区别等等...这些都清楚了,才算离真正的银行业务系统近了一步。什么是核心?光是VISA的通讯协议,就有多达十种,每种涉及参数有近200个,每个参数的数据结构含有近百项成员,复杂异常。这些文档皆为绝密资料,我相信你应该没有碰到过, 这些才是核心中的核心。
前几年公司有个家伙把李嘉诚在东南亚某国的消费情况和当时某位港姐“失踪”后大批资金的流向透露给HK某八褂杂志,不但被K了还差点坐监。基于核心层系统的设计和开发,使我们有能力了解一个人任何时候在任何地点的任何一次POS,ATM或柜台的查询和交易。
你说的储蓄、贷款、清算等,对于一些基于市场资产类的银行,多数会把技术含量和保密级别相对较低的支行柜台系统外包出去,如企业帐户管理、借贷(特别是房贷)等。这与真正的核心程序相去甚远了。
银行系统的安全,并不是很介乎语言,主要是是否有一套合适并行之有效的欺诈预警及防范系统,当然也不排除系统做的实在很差的例子。前几年我去一家商场刷卡买东西,打印的小条竟然全是JAVA源码,现在想想当时丢掉了真可惜。







to:zqw0117
但我一移除这段代码,就平安无事了,只要加上去(任何和IDCS有关的),就报那个错误,
到底为啥呢





ps:来者均有分送
 
对一个使用线程的东西使用 application.ProcessMessages, why?
-------------
冒似有道理,可惜经不起测试

对一个小东西,可能没问题,跑的人多了,才叫真正经不起测试。
 
application.ProcessMessages的效率好像比较低,反复调用会占很大CPU
 
application.ProcessMessages 在多线程中使用确实会出现栈出错的!
也不只是栈出错而已, 还有让你想不到的更多问题! 呵呵! 这是我使用
所遇到的问题. 所以结论是不要在线程里面使用 application.ProcessMessages;
至于原因我也不明白.
 
搞久了就不会轻浮了
 
呵呵,人品问题加技术问题。有本事自己用Socket API。
 
======== DELPHI真是垃圾!自带的VCL都BUG一大堆!=====
好标题啊!不过说实在话,你说说什么开发工具或软件没BUG,楼主发现了一大堆?楼主就牛B了,不过,据经验告诉我,说这话的人,本身就是存在BUG,是造人过程中存在太多的DNA BUG了,你还是重造一下吧。
 
成功者常反思自忆,失败者反之!
你做过“大系统”,我想更不会说出这种“笑话”来,所以我不信你做过什么东东。

总结:遇事好好反思一下吧。对事对已都好!
 
To dazzling:
1、呵呵,dazzling 楼主自称做标题党是被逼无奈,那你干嘛不把标题改成“**** me!”呢?如果你真想解决问题,不要首先抱怨别人不关注你的问题。凡是有人对你这种傻逼态度不满的话,你就横加讽刺,说白了你也就一个代码工人,你他妈以为你是谁啊?
2、我发现 Delphi 论坛里的人似乎不太爱骂人,那我就代他们骂几句吧:
dazzling,我谨代表欧亚非拉澳国家人民操 你老母,她老人家辛苦了!谢谢!
3、如果你日文还行的话,我再代表大日本帝国军送你这个 sino 猪一句:
dazzlingの母の腟とても大きいです!
 
大家都比我厉害,我还是继续学习吧[:)]
 

Similar threads

后退
顶部