dll中的函数用TDBGrid做var参数可以么 http://expert.csdn.net/Expert/topic/1332/1332780.xml?temp=.767666请大家指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢,我在dll里有个对话框,对dbgrid进行操作,您能明白是把,然后我在dll里设grid:TDBGrid变量,它要是放在对话框声明里面,无法赋句柄,设在外面,也不对.yong grid:=@gridHandle也不对 当然可以啦!在DLL中library Tools;uses SysUtils, Classes, windows, forms, dialogs, DBCtrls, Grids, DBGrids, Buttons, Db, DBTables;{$R *.RES}procedure ModiGrid(var vGrid:TGrid); stdcall;begin dofunction();end;Exports ModiGrid;beginend.在调用DLL的主窗口中定义变量TypeTModiGrid = procedure(var vGrid: TGrid); stdcall;并且调用Dll export 的procedure:var Han: HModule; ModiGrid: TModigrid;begin Han := LoadLibrary("路径+文件名"); @Modigrid := GetProcAdress(HaN, "ModiGrid"); if @Modigrid <> nil then Modigrid else RaiseLastWin32Error;end; 没必要吧,传一个DataSet就不得了了。 回上面的两位老兄,我也写了很多这样的小的测试程序,有的通过,有的通不过,估计是vcl底层的问题我还没搞不太明白,我已经这样写过了.但老是出错,而且我主要是设置网格的标题,字体等属性,不是取他的数值.ok? delphi托盘问题!请大家帮帮忙! 一个关于stringGrid的简单问题 DELPHI程序打包在没安装DELPHI的机器上不能运行???? 用存储过程进行查询,结果如何反映到当前dbgrid表中来? 很奇怪的问题,请高手帮忙!!! 动态链接库问题 帮忙看看IdTCPClient文件接收的错误。 为什么我的OLEContainer总出现TOleSysError的错误呢:~~:救命哪:~~: 如何优化ado的速度?什么情况下不需要adoquery1.close ??大鸟帮我! Delphi + VC 最佳搭配 如何编写程序修改应用程序的图标为指定图标? 查询条件怎么写?
然后我在dll里设grid:TDBGrid变量,它要是放在对话框声明里面,无法赋句柄,
设在外面,也不对.yong grid:=@gridHandle也不对
在DLL中
library Tools;
uses
SysUtils,
Classes,
windows,
forms,
dialogs,
DBCtrls,
Grids,
DBGrids,
Buttons,
Db,
DBTables;{$R *.RES}procedure ModiGrid(var vGrid:TGrid); stdcall;
begin
dofunction();
end;Exports
ModiGrid;
begin
end.在调用DLL的主窗口中定义变量
Type
TModiGrid = procedure(var vGrid: TGrid); stdcall;并且调用Dll export 的procedure:
var
Han: HModule;
ModiGrid: TModigrid;
begin
Han := LoadLibrary("路径+文件名");
@Modigrid := GetProcAdress(HaN, "ModiGrid");
if @Modigrid <> nil then
Modigrid
else
RaiseLastWin32Error;
end;