全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1706
推到 Plurk!
推到 Facebook!

[Delphi] TRegistry 的 key值

尚未結案
silveryfox
一般會員


發表:6
回覆:7
積分:2
註冊:2004-10-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-25 15:16:03 IP:211.23.xxx.xxx 未訂閱
FReg : TRegistry 當第一次用 FReg.OpenKey('\.DEFAULT\Software\Test',true); FReg.WriteString('TestFileName','test'); 會寫入一個TestFileName test 是正確的 但是再次更動時 FReg.OpenKey('\.DEFAULT\Software\Test',true); FReg.WriteString('TestFileName','test2'); 卻無法將之再更動? 是否小弟那裡有疏忽?謝謝
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-25 19:30:11 IP:222.248.xxx.xxx 未訂閱
有沒有在每回完成讀寫註冊表操作後, 加上 Reg.CloseKey; 這句?
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
silveryfox
一般會員


發表:6
回覆:7
積分:2
註冊:2004-10-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-25 23:22:52 IP:220.228.xxx.xxx 未訂閱
引言: 有沒有在每回完成讀寫註冊表操作後, 加上 Reg.CloseKey; 這句?
有的﹐忘了寫上去了
當第一次用
FReg.OpenKey('\.DEFAULT\Software\Test',true);
FReg.WriteString('TestFileName','test');
FReg.CloseKey;
會寫入一個TestFileName test 是正確的 但是再次更動時
FReg.OpenKey('\.DEFAULT\Software\Test',true);
FReg.WriteString('TestFileName','test2');
FReg.CloseKey;
小弟也曾試過是不是權限的問題﹐所以也試過
FReg.Access :=KEY_ALL_ACCESS;
FReg.OpenKey('\.DEFAULT\Software\Test',true);
FReg.WriteString('TestFileName','test2');
FReg.CloseKey;
但仍依舊失敗
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-26 09:09:43 IP:210.66.xxx.xxx 未訂閱
程式碼全貼來看看 ********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-26 09:58:10 IP:222.248.xxx.xxx 未訂閱
我寫了下面的代碼試了一下,並沒有出現你所說的情況。兩個按鈕都可以及時的修改TestFileName的值為test或test2。代碼如下,你看看: implementation uses Registry; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var FReg: TRegistry; begin FReg := TRegistry.Create; try FReg.RootKey := HKEY_USERS; FReg.OpenKey('\.DEFAULT\Software\Test',true); FReg.WriteString('TestFileName','test'); FReg.CloseKey; finally FReg.Free; end; end; procedure TForm1.Button2Click(Sender: TObject); var FReg: TRegistry; begin FReg := TRegistry.Create; try FReg.RootKey := HKEY_USERS; FReg.OpenKey('\.DEFAULT\Software\Test',true); FReg.WriteString('TestFileName','test2'); FReg.CloseKey; finally FReg.Free; end; end; end.
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
silveryfox
一般會員


發表:6
回覆:7
積分:2
註冊:2004-10-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-26 10:49:14 IP:210.243.xxx.xxx 未訂閱
引言: 我寫了下面的代碼試了一下,並沒有出現你所說的情況。兩個按鈕都可以及時的修改TestFileName的值為test或test2。代碼如下,你看看:
多謝 h@visli 兄﹐看了你的code我想我知道問題出在那裡了 我在重新更動那裡因為之前的FReg己經Free掉了 所以忘了重設FReg.RootKey 多謝 h@visli 兄的熱心﹐謝謝 以後我會更小心這樣的小細節的 多謝
系統時間:2024-07-04 7:53:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!