• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






生如夏花之绚烂

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  Delphi技术

 
delphi 接口 对象 交叉引用
摘要:在delphi编程中有时会遇到类A,类B相互引用或者一方引用另一方的问题。这种问题无外乎以下几种做法。1.很多人可能都用过的,delphi下有两个地方可以uses其他单元,假如类A,类B在不同的单元UnitA, UnitB且互相引用。一般UnitA interface uses UnitB; UnitBimplementation UnitA,这样就可以了,不能同时在interface或implementation中互相引用,否则编译不过。这样虽然达到了目的,代码的耦合度非常高。2.在其中一个定义函数原型,然后公布出来,让另一个实现。比如类A包含了类B(可以自由使用类B得可见接口),而类B想使 阅读全文
posted @ 2012-05-09 16:09 生如夏花之绚烂 阅读(2031) 评论(0) 推荐(0)
建立不规则窗口
摘要:procedure RgnWindow();beginvar rgn1,rgn2: HRGN; x,y,w,h, i: Integer;begin w := img1.Width; h := img1.Height;rgn1 := CreateRectRgn(0, 0, w, h);for x := 0 to w - 1 dobegin for y := 0 to h - 1 do begin if img1.Canvas.Pixels[x,y] = clwhite then begin rgn2 := CreateRectRgn(x, y, x+1,... 阅读全文
posted @ 2012-04-14 13:41 生如夏花之绚烂 阅读(244) 评论(0) 推荐(0)
Delphi WebService Variant 多个
摘要:在delphi的webservice技术中有种奇怪的现象,如果你一个做数据提交用的webservice接口有多个Variant参数,delphi环境会报'Invalid variant type',但如果是个读取数据的接口中有多个Variant参数是不会有问题的。这个问题因工作忙我目前没有继续跟踪,只好采用了权宜之计,建立一个Variant数组,这样多个Variant做一个参数打包提交,这样是没有问题的。 注:delphi做dcom时没有这种问题。 阅读全文
posted @ 2012-03-15 09:55 生如夏花之绚烂 阅读(424) 评论(0) 推荐(0)
free pascal、Lazarus
摘要:free pascal是一个pascal语言编译器。可以用于编译win32下pascal开发程序。类似于delphi的编译器。如果在delphi下写的是标识的pascal代码是可以在free pascal下编译的。free pascal是跨平台的,这样可以实现交叉编译,一次书写多次编译即可。Lazarus是以编译器free pascal为基础的Pascal语言的整合开发环境(IDE),和Delphi高度兼容,被视作后者的开源替代品。目前已有中文界面。支持的系统有Linux,Win32和FreeBSD,Mac OS。s 阅读全文
posted @ 2012-02-18 23:15 生如夏花之绚烂 阅读(644) 评论(1) 推荐(0)
Web Service加入独立Web Server
摘要:本文所述都是在windows平台delphi下的实现。 在Web Service开发过程中我们需用到Web Server,在delphi下你可以用wad方式开发,使用自带的Web App Debugger调试。做wad方式的web service为了便于调试,其实我们可以将Web Server功能集成到我的Web Service项目中,delphi有现成的代码可以使用。只要将单元IdHTTPWebBrokerBridge加入到我们的项目中,然后TIdHTTPWebBrokerBridge.RegisterWebModuleClass方法注册我们的Web Module,这样WebModule就能 阅读全文
posted @ 2012-01-02 23:43 生如夏花之绚烂 阅读(670) 评论(0) 推荐(0)
Delphi下的调试
摘要:写程序避免不了调试,每种工具都有自己的代码调试方式。但应作到规范的写代码,形成良好的代码书写习惯和风格,也能避免很多不必要的错误。应该先写思路再写代码并赋予合理适量的注释,尽量降低调试次数。以下说说delphi的调试方式。调试方式多样,适用也不同,应该择代码使用合适的调试方式。打印调试信息时可以在conditional defines中填写Debug,相对于c语言的 #define,这是对所有工程文件有效的。编译器会把{$IFDEF DEBUG}...{$ENDIF}中的代码编译进二进制文件。如果只是在单个文件中使用就不需要在这里定义,直接在文件中定义即可,如:{$DEFINE MYDEBU. 阅读全文
posted @ 2012-01-02 23:36 生如夏花之绚烂 阅读(3870) 评论(0) 推荐(0)
Delphi中回调、事件、接口简单说明
摘要:Delphi中存在普通回调、事件、接口三种概念,公用点是具体实现不是自己,自己只需要定义好规则或者叫声明函数类型。 普通回调是大部分语言都支持的,只要可以显示使用指针的语言应该都支持,原理是把一个函数的指针告诉调用者,调用者就可以通过这个指针调用函数,这种概念在有些地方是很有用途的。比如C语言里实现比较两个数的大小,数字可以是整形,浮点设置位宽不同,这个时候可以定义一个规则,通用性就比较好。不用自己去实现每种具体类型的比较。type TCompareData = function(A, B: Pointer): Integer; // 比较函数原型var Cmp: TCompareData;. 阅读全文
posted @ 2011-12-28 16:55 生如夏花之绚烂 阅读(1358) 评论(0) 推荐(0)