lazarus 使用Delphi的dll导出类的问题

Delphi的DLL导出类的方法,无外乎就是利用TClass的特性,就是,定义要导出类的Class类,即比如说,要导出的类是TMyObject,那么就定义

TMyObjectClass=class of TMyObject

在导出函数里面,使用TMyObjectClass变量,可以在参数里面使用var或者直接返回。

类似于

function GetMyObject(var MyClass:TMyObjectClass):Boolean;stdcall;

或者

function GetMyObject:TMyObjectClass;stdcall;

在Lazarus里面,声明函数为

type
 TGetMyClass = function(var MyClass:TMyObjectClass):Boolean ; stdcall; 

使用方法

继续阅读

ModelMaker CodeExplorer 8.00 破解版发布——支持delphi2010

随着delphi2010的发布,ModelMaker CodeExplorer 也发布了8.0版

更新:

支持delphi2010
修正d2009的bugs
添加不少新特性

破解:

版本号显示:算是比较恶搞的。

image 

使用方法:用cracked_files里面的文件覆盖安装目录下的文件。

继续阅读

Beyond Compare IDE Expert – Delphi 2010 version

细节请看: www.jed-software.com/bc.htm.

新的特性可以让你查看到一个修改后的源文件和旧版本的区别。

新的命令菜单在”Edit”下的Compare子菜单下。

The new command is available in the Compare sub menu and is only enabled when the active file in the editor is the same name as an original source file that shipped with the IDE and is not in the original location.

image

继续阅读

TOP ADO programming TIPS –

Connecting to data stores

How do I connect to a MS Access 2000 database?
ADOConnection.ConnectionString := ‘Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:MyDatabase.mdb;Persist Security Info=False’;

How do I connect to a password protected MS Access 2000 database?
ADOConnection.ConnectionString := ‘Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=XXXXXX;DataSource=C:MyDatabase.mdb;Persist Security Info=False’;

What provider should I use for MS Access
For MS Access 97 use Microsoft.Jet.OLEDB.3.51
For MS Access 2000 use Microsoft.Jet.OLEDB.4.0

How do I connect to a dBase database?
ADOConnection.ConnectionString := ‘Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:MyDatabase.mdb;Extended Properties="dBase 5.0;"’;

How do I connect to a Paradox database?
ADOConnection.ConnectionString := ‘Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:MyDatabase.mdb;Extended Properties="Paradox 7.X;"’;

How do I connect to a MS Access database on a CD (read only) drive?
ADOConnection.Mode := cmShareExclusive;

继续阅读

mapx :Custom dataset error

mapx 在绑定ADO数据源的时候,每次layers.add或者datasets.add,就会出现以下错误信息:

—————————
站点控制主界面
—————————
Custom dataset error.  Could not find a CLSID for the type of custom dataset specified.  Check that the custom dataset is properly registered.
—————————
确定  
—————————

 

解决办法:

注册相关的数据源dll,ado的就注册MapXADODS.dll,即在mapx5.0的安装目录下运行

RegSvr32 MapXADODS.dll

stringgrid 显示imagelist里面的图片

解决思路:

把imagelist里面的图片通过getbitmap,保存到一个TBItMap变量中,然后利用stringgrid的canvas属性,draw到相应的cell当中。当然,代码要在stringgrid的onDrawCell事件中处理。

代码:

procedure TFrmMain.RzStringGrid1DrawCell(Sender: TObject; ACol, ARow: 
Integer;
  Rect: TRect; State: TGridDrawState);
var
  bitmap: TBitmap;
begin
  bitmap := TBitmap.Create;
  try
    with RzStringGrid1 do
    begin  ////添加判断条件,获取不同的bitmap显示
ilImages.GetBitmap(267, bitmap); if not bitmap.Empty then Canvas.Draw(Rect.Left, Rect.Top, bitmap); end; finally bitmap.Free; end; end;

代码很简单,主要就是getbitmap和canvas.draw的使用,注意TBitMap的创建和释放。