首页
社区
课程
招聘
一个Dll中TList指针问题
发表于: 2006-12-26 11:45 4537

一个Dll中TList指针问题

2006-12-26 11:45
4537
昨天弄了一晚上都没有办法搞定,希望高手能帮一下.
我是用dll扩展exe功能时出的问题.
在exe里有一个TAbc类,
TAbc = record
   str: string;
   lList: TList;
end;
abc : TAbc;
我用dll钩子挂钩到exe上,用定义的指针操作exe的abc.如下
TDll = record
   str: string;
   lList: TList;
end;
Dll : ^TDll;
我用dll指针来操作exe的abc.
使用
dll^str := '123';
可以正确操作abc类中的str,但使用dll^lList.Add(Point)就出错.
地址绝对正确 dll^lList.count也可以正确读取.但就是不能 add.
请高手帮一下.  

我在dll用 Dll^.lList := TList.Create; 创建后,不出错,但exe中的 lList都不能正常使用.

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
2
TList是一个抽象类。。。不能直接使用。。。
你应该使用TStringList等类似的TList的子类
2006-12-26 11:54
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
非常感谢,Tlist中是保存指针的.
我在dll用 dll^lList.count 可以看到实际的数量.就是不能给他添加数据.

最初由 xIkUg 发布
TList是一个抽象类。。。不能直接使用。。。
你应该使用TStringList等类似的TList的子类

在exe中就是用的TList.Create的.
2006-12-26 11:58
0
雪    币: 67
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
你的dll不是注入到其它exe中
而你却在你的进程去操作记录吧
2006-12-26 14:00
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
哦,明白了点.
不知道咋会事,我干脆直接用exe原来的地址操作了.问题解决了.
谢谢两位.
2006-12-26 14:40
0
游客
登录 | 注册 方可回帖
返回
//