错误解析...请帮忙..................

lanren_me 2003-03-03 10:11:27
我的一些语句在单步察看时,发现以下提示:

E2027 must take address of a memory location.

程序正常运行,但是这样运行很久以后会死机。

请问为什么会出现此类的提示呢???
...全文
84 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
WhyAndAnswer 2003-03-07
  • 打赏
  • 举报
回复
做出来了,如PPower(引線穿針) 所讲的
WhyAndAnswer 2003-03-07
  • 打赏
  • 举报
回复
不会啊,有值的 Query1=:FA00.. 的地址值,没有问题
lanren_me 2003-03-07
  • 打赏
  • 举报
回复
是BCB沒能求值???能否详解一下..........

等待中..............

勉励前行 2003-03-07
  • 打赏
  • 举报
回复
這不是錯誤啊,
你說的應該是BCB中的Watch功能,就是調試時你的Mouse指到哪裡,就會把那個變量顯示出來。你指向的是個函數:Close(),BCB沒能求值,所以返回:E2027 must take address of a memory location.這應該是以提示(Hint)的形式出現的。
如果是這樣,這不是錯誤,你可以關閉這個開關的呀。
lanren_me 2003-03-07
  • 打赏
  • 举报
回复
上边copy错了语句后边还有 orders;表名;

这是bcb自带的数据表.

lanren_me 2003-03-07
  • 打赏
  • 举报
回复
是设置好各种数据源.

你们都不看我的代码

我的属性设置为:
TQuery *Query1;//databasename设BCDEMOS;sql=select * from
激活后TDBGrid *DBGrid1都已经显示数据表的内容了。

此时

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Query1->Close();
}


程序运行没有问题;但是单步 Query1->Close()处 就是显示
E2027 must take address of a memory location.


何解????????????????????????????????


各位麻烦看看;;;最好自己先试一下.................





WhyAndAnswer 2003-03-07
  • 打赏
  • 举报
回复
这么倒霉,你完了!
不过还是要耐心,说不定是在哪里有个小设置动过了。
估计是BCB安装的问题,你那个5.5是实际就是5.0的,我也在用。

是拖一个Query 和一个Database组件,然后在一个事件中写Query->Close();?
lanren_me 2003-03-07
  • 打赏
  • 举报
回复
呵呵........
勉励前行 2003-03-07
  • 打赏
  • 举报
回复
这样运行很久以后会死机,
有些爛機器,什麼也不動,進入操作系統3~4個小時就會 Down根本就不是什麼程序問題,是硬件問題。
WhyAndAnswer 2003-03-07
  • 打赏
  • 举报
回复
这样运行很久以后会死机应该不是这个问题吧
lanren_me 2003-03-06
  • 打赏
  • 举报
回复
几台机器试了.都这样啊
dacaifu 2003-03-06
  • 打赏
  • 举报
回复
你看看你的机器有没有毛病,如果你的机器染毒或有其他异常程序运行
那么cb 在运行时内存分配就会不正常,引发错误。你在别的机器上试一下
如果正常则说明你的系统有问题,不正常才能说明其它问题
lanren_me 2003-03-05
  • 打赏
  • 举报
回复
To: Bird1945(一叶西来)

我没有说程序有问题啊;

只不过不明白......


我用5.5版;
Bird1945 2003-03-05
  • 打赏
  • 举报
回复
程序绝对没问题


估计是BCB的问题!




WhyAndAnswer 2003-03-05
  • 打赏
  • 举报
回复
你把连接断开,再运行看看
lanren_me 2003-03-05
  • 打赏
  • 举报
回复
to:zdhsoft(冬瓜猫)

在Query1->Close();处的光标一样显示上边的内容啊.
lanren_me 2003-03-04
  • 打赏
  • 举报
回复
to albeta(Bambo):
程序中就这么一条语句啊,其他都是程序自己生成的.见上边的例子;
Query1->Close();
gangAndgang 2003-03-04
  • 打赏
  • 举报
回复
to albeta
不应该呀,你这样在编译就通不过
albeta 2003-03-04
  • 打赏
  • 举报
回复
我知道原因,但是要用你的代码。
你肯定是调用控件的方法,但是又没有用括号。
例如
TComponent这个对象有Open()方法,你却这么用。
TComponent * ddd;
...
ddd->Open;//这里就会报这个错。应该是ddd->Open();
wocard 2003-03-04
  • 打赏
  • 举报
回复
我试了一下只要是对象的函数就有这句话,应该就有上面的显示;
它不过是你要看的那个函数的值时,显示的
加载更多回复(18)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧