怪异问题急需解决,不要再石沉大海了(急急急)
我把绘图的每一步结果用vi.push_back()加到数组最后,可是结果好怪异啊,除了第一步空白的画布以外,其余的每一步结果都一样,都是最后一步做完以后的位图,好奇怪啊!
我是这样写的,一步画完以mouseup为标准(暂时)然后将进行vi.push_back(Image->Picture->Bitmap);结果用另一个image察看vi[1]里面的东西都是后,却是最后一步的位图,其他的第二第三等等都是如此,除了vi[0],这到底是怎么会是啊,为什么前面的会跟着后面的改变啊!
注:vector<Graphic::TBitmap *> vi
快快啊!
谢谢
问题点数:70、回复次数:14Top
1 楼chicky(chicky)回复于 2001-10-02 17:04:29 得分 0
同志们啊,行行好吧!帮忙看看啊,可否?Top
2 楼songhtao(三十年孤独)回复于 2001-10-02 18:56:26 得分 20
分太少,这是因为你以前的指针都指向了最后一张图片,没有改变呀。
卧病中。Top
3 楼chicky(chicky)回复于 2001-10-02 19:20:29 得分 0
分数我已经加了,你可不可以说清楚一点呢?怎样改变呢?谢谢了阿Top
4 楼chicky(chicky)回复于 2001-10-02 20:35:55 得分 0
分数已经加了啊,怎么还没有吸引力阿???????
你们不会这么的要分数吧,要了有什么用呢?互相帮助解决问题才是关键阿Top
5 楼dycdyc123(重出江湖)回复于 2001-10-02 20:36:22 得分 0
你怎么加压???
Top
6 楼twotrees(两棵树)回复于 2001-10-02 21:13:19 得分 0
不懂,帮你up吧Top
7 楼wondful(莫名)回复于 2001-10-02 23:49:10 得分 0
这么多字,懒得看,帮你upTop
8 楼wjzhuang(程序猪)回复于 2001-10-03 00:29:50 得分 0
看看代码猜好说Top
9 楼chicky(chicky)回复于 2001-10-03 09:41:28 得分 0
就是数组里面的东西一直跟着数组最后一个改变啊!除了第一个,因为我第一个放进去的是新建的Bitmap,后面的都是Image->Picture->Bitmap。Top
10 楼chicky(chicky)回复于 2001-10-03 10:36:40 得分 0
我觉得是我放入数组的都是同一个地址,就是Image->Picture->Bitmap,每一个数组元素(除了第一个)以外都没有和这个地址脱钩,所以一直跟着变。而第一个我是放入的一个新建的Bitmap,地址和后面的是不同的,怎样才能改变呢?是否说得清楚了呢?战友们,帮帮忙吧!
小弟在这儿先谢谢了啊!Top
11 楼HEROIN(HEROIN)回复于 2001-10-03 11:01:53 得分 50
每次保存前new 一個Bitmap,然後將Image->Picture->picture Assign給新Bitmap,然後保存新Bitmap的指針Top
12 楼chicky(chicky)回复于 2001-10-03 11:17:10 得分 0
我试过了啊,好像没有用啊。你的意思是不是这样?
Graphics::TBitmap Bitmap=new Graphics::TBitmap();
Bitmap=Image->Picture->picture Assign;
vi.push_back(Bitmap);
那么要不要delete Bitmap呢?我在试试,也请你帮帮忙写写清楚好吗?谢谢了啊!Top
13 楼chicky(chicky)回复于 2001-10-03 11:38:37 得分 0
我改成这样就好了:
Graphics::TBitmap *Bitmap=new Graphics::TBitmap();
Bitmap->Assign(Image->Picture->Bitmap);
vi.push_back(Bitmap);
但还有一个问题,如果delete就出错了,有异常,不用delete就好了,不知道这样会不会有一些问题啊?Top
14 楼songhtao(三十年孤独)回复于 2001-10-03 19:17:25 得分 0
不是我不说,实在是因为病了,正在熟睡中。Top




