还有,Delphi中哪些类是像java中:ArrayList、LinkedList HashMap、这类容器的?是不是要自己动手去实现
解决方案 »
- 发了内部工作推荐帖子马上就被和血了,散分押惊
- 我用DLL封装MDI窗体,只有几个窗体为什么编译出来的DLL有15M,这样还不如直接用EXE,有没有什么办法可以减小大小?
- 关于ReceiveBuf获取数据之后的分解问题。
- 请教将ASCII码值转换为字符和将字符串转换为ASCII码值的函数分别是什么??
- 在sql查询分析器中运行正确,在delphi中报错
- 如何得到OpenDialog所打开文件的大小,在edit1.text中显示出来
- 想删就删吧!!!!真受不了这种感觉,槽糕透项了
- 如何在自定义的函数或过程中使用系统生成的变量?
- 请问大家现在都在哪里上网啊!!! 网吧?学校?家里?.....
- 高手哪里去了?
- 关于CreateThread多线程的内存管理
- ------------------ 大神请留步,delphi写入内存错误 求教 --------------
应该总是假定线程是不安全的。至于那些容器,delphi都有inifile 单元里有 tstringhash、thashedstringList
contnrs 单元里全都是,自己挨个看上d2009+版本,泛型容器更是多,映射表、字典啥的应有尽有
以前用Delphi,公司完全是让对着抄抄改改能用就行,结果做出来就会界面卡死。从组件事件一行行代码看也没看到有“Thread”字样出现,应该就是把任务放进UI线程里导致的吧,Delphi我不知道java里我知道是这样的。
之前工作用的7,现在想自己学了弄个2009吧
ttread 类的话里面也提供了用于同步的synchronize函数,
绘图的canvas类也有lock、unlock等用来同步的函数如果线程是用api createthread创建的,要把全局变量 ismultithread 设为true,
或者接用 beginthread来替代,参数完全跟createthread一样,其内部已经自动ismultithread:=true最好的是用 tthread 类
如果是刷新的数据量太大,需要考虑不要让界面不断刷新,可以用如下代码暂停和恢复刷新:
ListView1.Items.BeginUpdate;
listview1.Items.EndUpdate;