易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi类的相互引用

在写c++的接口时可以将两个相互引用的类放在两个.h文件中,然后将这个接口翻译到delphi时,放在两个文件里就不可能了。只能放在同一个unit中。并且要将这两个类都放在同一个type下面进行定义,当前面一个类要使用后面一个类时,需要在前面一个类的前面放置一个前置声明,并且前置声明只能是IVariantMap = class;这种格式而不能是IVariantMap = class(TObject);形式。
unit XXX_variant;
interface
use XXX,XXX;
type
IVariantMap = class;
IVariantArray = class;
IVariant = class(CBaseSerial)
public
function SetMap(val: IVariantMap): Boolean; virtual; stdcall; abstract;
function SetArray(val: IVariantArray): Boolean; virtual; stdcall; abstract;
// XXXX
end;
IVariantArray = class
public
function GetElement(index: Cardinal): IVariant; virtual; stdcall; abstract;
//XXXX
end;
IVariantMap = class
public
function GetValue(const name: PChar): IVariant; virtual; stdcall; abstract;
//XXXX
end;


相关文档:

delphi中的DBGRid鼠标滚动事件

Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
  if Msg.message = WM_MouseWheel then
  begin
    if Msg.wParam > 0 then
     begin
       if DBGrid.Focused then
       ......

Delphi中ADO异步执行方式

     当A D O开始处理数据后,应用程序必须等到A D O处理完毕之后才可以继续执行。但
是除了同步执行方式之外, A D O也提供了异步执行的方式,允许当A D O处理时,
应用程序仍然能够先继续执行。而当A D O处理数据完毕之后, A D O会以事件的方
式通知应用程序,此时应用程序可以再根据A D O执行的 ......

DELPHI常用快捷键(转)

.pas ---- pascal的缩写, 单元原始程式档( unit source files )
.dpr ---- 专案档 ( project files )
.dpk ---- 包裹原始程式档/组件包 ( package source files )
.dfm ---- 表单档 (记录form的内容,除去这个内容就等于删除了form这个表单)
.dcu ---- 是编译好的单元文件.若只有一个dcu文件,则不能看到源代码. ......

Delphi 7 的一个奇怪的Bug

近来发现一个Delphi莫名其妙的bug,当使用SetOptionalParam时,不能使用一连串数字的字符串,如'101',注意,是带引号的。在SaveToFile时,就会出现'Invalid field type'的异常,真是百思不得其解!连'001'这种串也不行,去掉引号,直接按数字赋值,则正常。
procedure TForm1.Button1Click(Sender: TObject);
var
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号