有些时候(可能是人倒霉哦), 原来可以编译的EXE或者BPL文件,会突然无法编译,编译的时候, 显示错误信息 U1036 ,开始的时候怎么也处理不过来,经过我的摸索,找到的解决方法如下:



BPL 解决方法

打开BPL包的源代码,找到requires 部分 ,例如下面这样

wps_clip_image2……

编辑 | 阅读全文(145) | 回复(0),mstarsoft 发表于 2008-11-12 18:41


我在开发条码标签打印功能的时候,使用了接口继承的技术,不同的条码打印机其可以设置的2次开发项目和开发模式都不同,我们希望这些不同接口的技术可以公用一些UI,如“打印策略管理、标签格式设置”等窗口,为此我设计了一个抽象的祖先接口IBarCodePrinterAncestor  ,其他的具体型号接口继承这个接口,他们的关系如下:

  //  所有条码打印驱动的祖先接口 
  IBarCodePrinterAncestor  = interface(IInterface) 
    // 向打印机传递指令 
    function print: B……
编辑 | 阅读全文(192) | 回复(0),mstarsoft 发表于 2008-11-11 14:7

在多人共同开发的时候,如何保证软件整体风格的一致性,一般来说制定UI标准,加强内部培训当然是不错的办法,在这些工作的基础上,我们还可以通过改造控件的办法来帮助统一风格。

比如说著名的开源安装工具INNO SETUP就是用DELPHI开发的,有心的朋友可以从这里下载源代码(http://www.jordanr.dhs.org/download.php/issrc.zip?site=1),我们下载回来展开后,文件内容如下
wps_clip_image2……
编辑 | 阅读全文(369) | 回复(0),mstarsoft 发表于 2008-9-30 18:34
问题得发现
我在开发数据字典8.0的时候,想省事按钮也漂亮就使用了 TRzBitBtn 控件,设置了以下属性
wps_clip_image1
按钮效果确实是漂亮了
wps_clip_image2……

编辑 | 阅读全文(335) | 回复(0),mstarsoft 发表于 2008-8-20 12:19

EurekaLog 本来是很不错得工具,用EurekaLog_Viewer来分析EurekaLog控件生成错误ELF文件,就可以了解错误发生得具体情况,但是这几天他开始出了问题,当我点击新得ELF文件得时候,一直提示“文件格式错误”,严重影响了我得工作。今天无意中发现了一个简单得处理方法,共享如下:
 
找到 EurekaLog_Viewer 所在得目录,
image……
编辑 | 阅读全文(347) | 回复(0),mstarsoft 发表于 2008-7-28 15:23

接口写到单独的PAS文件

我们为了方便区分文件的含义,还要求必须用-INTF作为文件名称结尾,放到一个大家公认的指定目录下,例如下面这样:
wps_clip_image2

使用带有GUID的接口

Delphi中对于有GUID的接口在运行时在VMT……

编辑 | 阅读全文(434) | 回复(0),mstarsoft 发表于 2008-7-25 10:11

2008-7-22 22:59 | 日期字段的EditMask设置

clip_image001
这个显示日期字段的控件 为什么当获得焦点后
他的值发生变化?
clip_image003……
编辑 | 阅读全文(364) | 回复(0),mstarsoft 发表于 2008-7-22 22:59

最简单的方法

使用 D:\Program Files\Borland\Delphi7\Lib\Common\zip_unzip.pas 里面的函数,其原理 其实也是调 ZIP32.PAS UNZIP32.PAS,而这2个文件 也是调相应的 DLL 文件。
 
压缩函数是  procedure ZipFiles(FileName : string; FileList: TStrings); // FileList 保存准备压缩的文件名称
 
解压缩函数是 function unzipfunc(zipfiledir,unziptodir:string): boolean; // zipfiledir 压缩文件 unziptodir 展开目录
(注意展开的时候  是不附带压缩时候的目录信息的)

 
……

编辑 | 阅读全文(709) | 回复(0),mstarsoft 发表于 2008-7-22 22:57

可以利用的事件是 他的 ONPaintPane 事件,下面是一些 DEMO 代码
 
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
  Index: Integer);
begin
  if Index mod 2 = 0 then
  begin
    DBCtrlGrid.Canvas.Brush.Color := clInfoBk;
    DBCtrlGrid.Canvas.Rectangle(1,1,DBCtrlGrid.PanelWidth,DBCtrlGrid.PanelHeight);
  end;
end;
 
procedur……
编辑 | 阅读全文(316) | 回复(0),mstarsoft 发表于 2008-7-22 22:45

2008-7-22 22:43 | HireCube控件的介绍

HireCube 的 主要功能
1、 1、 目前支持雪花型、父子型维度结构
clip_image002
Ø Ø Order Details和Orders是 事实表,其中除了Customers表是父子型维度,其他的都是雪花雪花型
2、 2 支持用户……
编辑 | 阅读全文(363) | 回复(0),mstarsoft 发表于 2008-7-22 22:43

2008-7-22 22:40 | THierCube控件使用经验


1.         使用经验

1.1.     如果我想查询商品出库量查询,应该怎么做?(效果如下,应该可以看懂这个图吧)
clip_image002……
编辑 | 阅读全文(370) | 回复(0),mstarsoft 发表于 2008-7-22 22:40

发现这个控件 对打印机的设置很敏感 在我这个机器上 该控件表现的非常不稳定 经常打不开项目 或者连累DELPHI崩溃。
后来跟踪代码 发现了真正原因 我的机器上定义了一个不存在的网络打印机 所以导致这样 我安装了一个本地的1600K 驱动以后 就一切正常了。
具体的原因 在在控件初始化的时候 调了下面这段代码

function TXLSReadWriteII2.GetDEVMODE: PDeviceModeW;
var
 
hDevMode,FPrinterHandle: THandle;
 
P: PDeviceModeW;
 
ADevice: PWideChar;
 
StubDevMode: TDeviceModeW; ……
编辑 | 阅读全文(322) | 回复(0),mstarsoft 发表于 2008-7-22 22:35

本文简单介绍了安仕达软件对 THalComp 解释器控件的改造过程,THalComp 解释器控件是网络上可以很容易找到的开源解释器控件http://www.pudn.com/downloads4/sourcecode/others/detail14133.html),应该说该控件在1997年就已经达到了一个了不起的高度,然而由于该作者后续没有继续开发了,因此这个控件在保持短小精干的同时也存在了不少问题,几年前为了改造报表机器,我选择了用这个控件来替换报表机器2.6版本默认解释器的思路,由于该代码几乎没有注释(因此原作者这个老外估计是个天才,大概认为代码太简单了,不需要注释),阅读起来相当困难,后来花了2个月时间才改造好,为纪念那些个辛苦的日日夜夜,公布一些资料给哪些想研究 解释器技术和编译原理 的新人学习和参考。

基本工作原理

  • 解释类 DELPHI 代码,并将其转换为(生……