[问题] BCB TImage 储存到哪里去了?

楼主: noodleT (面T)   2015-05-31 12:22:59
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB
问题(Question):
图片:
http://i.imgur.com/gKx96R5.png
完整程式码:
.H
http://ideone.com/ohYxrV
.CPP
http://ideone.com/5ozF3o
BCB 中新增 TImage 元件,然后在“属性 -> Picture”中加载图片,
即使图片被移除了, BCB 也可以正确执行、显示图片。
在自己制作的元件 TestButton 中,我希望使用者在建立元件时,
就顺便加载 123.jpg 这张图。但当 123.jpg 被移除时,程式就会跳 Error。
下面是觉得有影响的程式码。
//.H
class PACKAGE TTestButton : public TButton
{
private:
TImage *Image;
//略
}
//.CPP
__fastcall TTestButton::TTestButton(TComponent* Owner): TButton(Owner)
{
Image = new TImage(this);
Image->Parent = this;
//略
Image->Picture->LoadFromFile("C:\\TestButton\\123.jpg");
}
请问我该怎么把图片保存在内部?
作者: EdisonX (卡卡兽)   2015-05-31 12:57:00
先想一下是不是绝对必要塞到程式里面去,因一般程式会再切一个资料夹放UI的东西, LoadFromFile 时就写成ExeFilePath + _T("\\Resource\\123.jpg") ; 如果不这么做的话,我知道的方式事先用另一支程式把 123.jpg 内容全dump 出来,放在 code 里面 byte jpg[] = {....} ; 等到执行期时再把 jpg[] 从 mem 读出或写出到档案都可, 只是这种方式占用 stack 太大, 不是绝对必要我不会那么做。
楼主: noodleT (面T)   2015-05-31 13:39:00
因为这只程式是给别人用的元件,如果不包进来,那别人使用这个元件,不就要再另外自备一个资料夹来存图片?
作者: EdisonX (卡卡兽)   2015-05-31 14:07:00
设计让别人用的话通常路径是开放让人填的
作者: TobyH4cker (Toby (我要当好人))   2015-06-01 04:50:00
还有resource可以用啊

Links booklink

Contact Us: admin [ a t ] ucptt.com