DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: melqui
今日帖子: 4
在线用户: 1
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 herui (hi) ★☆☆☆☆ -
普通会员
2017/12/3 10:25:16
标题:
DBGridEh操作选择行不成功 浏览:1628
加入我的收藏
楼主: 在DBGridEh中想对多行选择并进行处理,但老是出错,代码如下:
if DBGridEh1.SelectedRows.Count>0 then
begin
for i:=0 to DBGridEh1.SelectedRows.Count-1 do
   begin
   Query.GotoBookmark(pointer(DBGridEh1.SelectedRows.Items[i]));//这里出错,提示信息如下:[dcc32 Error] cx.pas(121): E2010 Incompatible types: 'System.TArray<System.Byte>' and 'Pointer'
处理代码
   end;
end;
delphi 10.2.1,Ehlib版本为9.0,请教专家们是什么原因呢?
----------------------------------------------
delphier
作者:
男 liminx (liminx) ★☆☆☆☆ -
普通会员
2017/12/3 19:00:06
1楼: 试试 Query.Bookmark:=DBGridEh1.SelectedRows.Items[i];行不行。
----------------------------------------------
-
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2017/12/3 23:15:03
2楼: 第一次见人这样写的。

就算不会用这个书签,也要看看帮助吧?
----------------------------------------------
--
作者:
男 herui (hi) ★☆☆☆☆ -
普通会员
2017/12/4 7:30:52
3楼: 谢谢liminx,用DBGridEh1.DataSource.DateSet.Bookmark:=DBGridEh1.SelectedRows.Items[i]也可以。

bahamut8348,以前没用过书签,网上查了下都是这样写啊。
----------------------------------------------
delphier
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2017/12/5 9:37:30
4楼: 加Pointer转换是老版Delphi的写法,新版的Bookmark都用TBytes(TArray<Byte>),所以不需要加Pointer转换了。
其实老版的Bookmark有两种写法的,一种是用TBookmark(Pointer),另一种是用TBookmarkStr,而在新版中TBookmarkStr已经被标为过时,并且不再提供BookmarkStr这个属性。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 herui (hi) ★☆☆☆☆ -
普通会员
2017/12/6 7:59:37
5楼: 楼上朋友的回复令人信服,非常感谢!
----------------------------------------------
delphier
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行58.59375毫秒 RSS