易截截图软件、单文件、免安装、纯绿色、仅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 7 的一个奇怪的Bug

近来发现一个Delphi莫名其妙的bug,当使用SetOptionalParam时,不能使用一连串数字的字符串,如'101',注意,是带引号的。在SaveToFile时,就会出现'Invalid field type'的异常,真是百思不得其解!连'001'这种串也不行,去掉引号,直接按数字赋值,则正常。
procedure TForm1.Button1Click(Sender: TObject);
var
  ......

delphi中关于字符串数组的一个小BUG

看如下代码:
var
   buffer:array [0..6] of char;
begin
    buffer:='delphi';
end;
编译通过
再看如下代码:
var
   buffer:array [1..7] of char;
begin
    buffer:='delphi';
end;
编译错误:
Incompatible types: 'Array' and 'String'
真不知道 ......

java 调用 delphi编写的dll


有些时候,要写一些程序,在 JAVA 里面好难实现, 但如果使用其它编程语言却又比较容易时,我们不妨通过 JNI 来让不同语言的程序共同完成.
JNI 的教程, 网上 C 的比较多,Java 也提供了 javah.exe 为 C 语言的 JNI 程序生成头文件, 如果你是一个 Delphi 编程员, 能否让 JAVA 与 Delphi 程序交互呢? 答案是肯定的,今天我们就来 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号