`
com1com4
  • 浏览: 161496 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
动态调入库(dynamically loadable library)在Windows 下是一个动态链接库(dynamic-link library,DLL), 在Linux 下是一个共享目标库(shared object library) 导入过程或函数最简单的方法是用external 指示字声明它们,比如, 在Windows 下: procedu ...
在使用文件变量前,必须调用AssignFile 过程把它和一个外部文件相关联。外部文件通常是一个命名的 磁盘文件,但它也可以是一个设备,比如键盘或显示器。 一个已存在的文件可使用Reset 过程打开,使用Rewrite 过程能创建一个新文件并打开它。使用Reset 打开的 文本文件是只读的,使用Rewrite 和Append 打开的文本文件只能写入。对类型文件和无类型文件,不管用Reset 还是用 Rewrite 打开,它们都是可读写的。 对类型文件和无类型文件,能使用Seek 进行随机访问 标准函数FilePos 和FileSize 能用来确定当前文件位置和当前文件大小。 当程序完成一个文件 ...
一个类声明有如下格式 type className = class (ancestorClass) memberList end; 在类声明中,方法看起来就像函数(或过程)头,而没有函数(或过程)体。方法的定义出现在程序的 其它地方。比如,这里是Classes 单元中TMemoryStream 类的声明 t ...
过程和函数统称为例程(routine) 标准过程Exit 可出现在任何过程或函数中,它结束例程的执行,并立即把程序控制返回到例程调用的地方。 一个过程声明有如下格式: procedure procedureName(parameterList); directives; localDeclarations; begin statements end; 函数声明和过程声明类似,除了它要指定一个返回值的类似和返回值。函数声明有如下格式: function functionName(parameterList): returnType; directives; localDeclarations; b ...
除结构类型和指针外,变体类型能存储其它的任何类型; 变体类型能存储接口,并能通过它使用接口的方法和属性(参考Object interfaces); 变体类型能存储动态数组,也能存储一种特殊的静态数组:变体数组(Variant array)。 变 ...
^符号有两个用途,在我们的例子中都用到了。当它出现在一个类型标志符前面时: ^typeName 它表示一个指向typeName 类型的变量的指针;当它出现在一个指针变量的后面时: pointer^ 它表示对指针解除引用,换句话说,它返回在指针所指向的地址处保存的值。 除了使用@运算符,你也可以使用几个标准例程给一个指针赋值。New 和GetMem 过程把一个内存地址 赋给指针,而Addr 和Ptr 函数则返回一个指向特定变量或地址的指针。 保留字nil 是一个特殊常量,可赋给任何指针(类型)。当nil 被赋给一个指针时,指针不表示任何东西。 使用下面的语法,你能声明一个任意类型的指针, typ ...
类型可以分为基本(fundamental)和一般(generic)类型。基本类型的范围和形式是相同的,不管是基于何种CPU 和 操作系统;而一般类型的范围和形式是平台相关的 大多数内置类型属于基本类型,但少数整数、字符、字符串和指针 ...
空格(#32)和控制符(#0 到#31,其中#13 叫回车符或行的结束符)被称为空白符(blank)。 特殊符号是非文字和数字字符,或这类字符的组合,它们有固定的意义。 ‘[’相当于‘(.’,‘]’相当于‘.)’;‘(*’和‘*)’分别相 ...
单元 程序头:uses(子句列出了那些链接到程序的单元),block(声明,命令语句) 一个程序包括: 一个程序头(program heading) 一个uses 子句(可选),和 一个包含声明和命令语句的块(block) 一个单元以单元头(unit heading)开始,后面跟interface、implementation、initialization 和finalization 部分,后面两个部分是可选的 一个uses 子句可以出现在: 程序或库的工程文件 单元的接口部分,和 单元的实现部分 在单元声明以及uses 子句中(尤其是在Linux 下),单元名称必须和文件名大小写一致。在其它 ...
有如下声明,假设V已赋值 var V:OleVariant;   如下代码似乎会造成内存泄漏 SysUtil.Pos('finish.html', V); 或 VarToStr(V);   原因猜测: SysUitl.Pos要求的第二个参数为String, 那么程序运行时把V:OleVariant自动转换为String, 调用堆栈如下 Routine Name               Class Name              Source Line            Source File           Module NameSysAllocStringLen         ...
07年头,我来到睿盟,终于又干回开发,兴趣使然吧。来公司近一年了,这一年过得实在很充实,每天都在学习、每天都在思考。我觉得这一年,是我个人技术水平提升最多的一年。   粗略的整理一下脑袋,这一年学的东西还真是不少,列出来看看: JAVA类(主要是后端): 1、  终于认认真真地学了一把JAVA,现在虽不能说是精通,但也能说是掌握了。 2、  设计模式,这一年想得最多的估计就是这个了,这个对提升掌握代码的能力有帮助。 3、  学习J2EE经典开发模式。
jar的加载顺序到底是怎么样的,真够古怪。假如有两个都在同一目录的jar,里面的package路径都一样,在相同路径下也有相同名称类,那么我要加载某一名称的类的时候,JVM会先在哪个jar里找呢?我一直是以为按字符升序的顺序来查找的,但后来发现,在某些环境下似乎又不是,到底是怎么的呢?有空要慢慢查。。。郁闷
借助 Ajax 自动保存 JSF 表单,第 1 部分: 利用 XMLHttpRequest 提交 JSF 表单 借助 Ajax 自动保存 JSF 表单: 第 2 部分 借助 Ajax 自动保存 JSF 表单: 第 3 部分 example: wa-aj-jsf1.zip  wa-aj-jsf2.zip  wa-aj-jsf3.zip
1、明晰的模型 2、方便的二次开发接口,或者是方便地使用容器提供的功能   重点留意: 1、内存泄漏问题,无论是否有GC机制都有可能发生 2、异常处理,特别是跨模块调用,要考虑主服务会不会受其它模块异常影响而中止服务  

DDOM修改记录

1、完整多个类的clone方法,实现为clone(deep=False)形式 2、完整各个元素的clear()和Destory()方法,但是还是存在一些隐患:第一,clear的行为不统一,存在只释放列表还是子元素也释放的不统一行为,为保整与旧代码的兼容性只能小心地改。。。 3、提升一些移除“所有”子元素操作的性能。原来的移除模式是从TList的开头(即index=0)开始释放的,这存在一个小小的性能问题,就是每次移除都要复制其后的n-1个元素地址,显然从TList尾部开始移除能省一点点时间,所以从原来的for...to...改为for...downto...了
Global site tag (gtag.js) - Google Analytics