procedure TFormMain.BtnGtrlGetCaptionClick(Sender: TObject);
var
hwnd: THandle;
strCaption: pchar;
begin
if ListView_Child.SelCount < 1 then
begin
Application.MessageBox('请选择一个程序','提示信息',MB_OK + MB_ICONINFORMATION);
Exit;
end; hwnd := StrToInt(ListView_Child.Selected.SubItems[1]);//就这里
GetMem(strCaption,255);
SendMessage(hwnd, wm_gettext, 255, integer(strCaption));
EditCtrlCaption.Text := StrPas(strCaption);
end;
跟踪过了。。。内存地址在000008上
Delphi取Listview的SubItems属性跳内存错误
答案:2 悬赏:30 手机版
解决时间 2021-04-22 16:37
- 提问者网友:寂寞梧桐
- 2021-04-21 21:12
最佳答案
- 五星知识达人网友:第幾種人
- 2021-04-21 22:23
一种可能 你的 ListView_Child.Selected 为null 也就是你没有选中 节点
一种可能 你的 SubItems 索引出界 你这个节点并没有 两个 SubItems
你判断了 SelCount 所以应该是第二个情况
全部回答
- 1楼网友:话散在刀尖上
- 2021-04-21 23:39
改成
hwnd := StrToInt(ListView_Child.Selected.SubItems[0]);//试试
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯