線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1885
推到 Plurk!
推到 Facebook!

关于 FindChildControl

尚未結案
czj761015.com
一般會員


發表:14
回覆:3
積分:3
註冊:2005-06-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-04 11:03:48 IP:219.145.xxx.xxx 未訂閱
在from1上放置元件Panel1和Image1 Image1放置在Panel1上 Image1.Parent:=Panel1     执行下面代码总是报访问地址错误 请各位达人帮小弟指点迷津 if panel1.FindChildControl('Image1')<> nil then; (panel1.FindChildControl('Image1') as TImage).Picture.LoadFromFile('C:\vvv.bmp'); KTOP DELPHI的殿堂
------
KTOP
DELPHI的殿堂
czj761015.com
一般會員


發表:14
回覆:3
積分:3
註冊:2005-06-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-04 11:45:22 IP:219.145.xxx.xxx 未訂閱
上面如果有乱码请参祥下图 KTOP DELPHI的殿堂
------
KTOP
DELPHI的殿堂
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-04 12:32:51 IP:210.65.xxx.xxx 未訂閱
Hi czj761015.com,    因為 panel1.FindChildControl('Image1') = NIL 再加上你的程式碼 if panel1.FindChildControl('Image1')<> nil then; 所以 (panel1.FindChildControl('Image1') as TImage).Picture.LoadFromFile('C:\vvv.bmp'); 會產生 Access violation 更改如以下程式碼試試:
procedure TForm1.Button1Click(Sender: TObject);
var
  Tmp : TImage;
begin
  Tmp := TImage(FindComponent('Image1'));
  if Tmp <> nil then
    Tmp.Picture.LoadFromFile('C:\vvv.bmp');
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
czj761015.com
一般會員


發表:14
回覆:3
積分:3
註冊:2005-06-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-04 14:13:45 IP:219.145.xxx.xxx 未訂閱
Fishman 大人的代码确实解决了我的问题 可是我不明白为什么用Panel1的FindChildControl会返回nil 望不吝赐教 KTOP DELPHI的殿堂
------
KTOP
DELPHI的殿堂
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-04 18:17:41 IP:61.222.xxx.xxx 未訂閱
引言: Fishman H& ?碼諤實稈決¥ 問題 ? ? ?為?:?Panel1 FindChildControl會 ?nil 辨? 賜斃 KTOP DELPHI 返綁
我懷疑我是否看得懂?亂碼... FindChildControl 為何為 Nil ? 答案很簡單,因為 image1 並非由TWinControl所繼承。沒有 Handle。 若將 image1 改為 Edit 就會成功了。 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~
系統時間:2024-06-26 9:09:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!