2011-08-31 13 views
0

我正在使用wxConfBase來保存我的文本框的數據。 (windows)wxWidgets wxConfBase寫入很慢

config = new wxConfig(wxT("soft")); 
    config->Write(wxT("COM"),temp_port->GetValue()); 
    config->Write(wxT("SQL_HOST"),mainset_sql_host->GetValue()); 
    config->Write(wxT("SQL_DB"),mainset_sql_db->GetValue()); 
    config->Write(wxT("SQL_LOGIN"),mainset_sql_login->GetValue()); 
    config->Write(wxT("SQL_PASS"),mainset_sql_pass->GetValue()); 
    {.......} 
delete config; 

我在我的關閉功能上調用它。

事實上,它非常慢,需要大約10秒(程序凍結)寫約20個參數。

我相信它寫在我的本地磁盤上,因爲我一直無法找到保存的地獄,甚至嘗試使用config-> SetPath。

另外,對文件的訪問我的電腦上並不似乎是慢......

而且也許有比使用配置寫的一些更有效的方式。

如果有人有想法,謝謝。

回答

1

對於給定的名稱爲 「軟」:

的Windows:wxConfig寫入到HKEY_CURRENT_USER \ SOFTWARE \軟。

Linux:wxConfig在主目錄中創建隱藏的.soft文件。

在這兩個操作系統中使用wxConfig,我沒有任何性能問題。試着調查更多,瞭解這些信息的保存位置。

+0

謝謝,絕對不是用來存儲設置的好東西...... – Damien

2

你應該有一個很好的調試策略。儘量減少外部影響,並舉一個小例子。然後嘗試找出程序掛起的位置。它真的是配置的東西?或者它是那些mainset_sql_ *查詢?

+0

這真的是配置的東西。 mainset_sql_login->只是返回一個沒有操作的字符串值 – Damien

+0

其實找到我們的問題是什麼,出於某種原因(...?)在關閉函數上有一個循環,並且保存過程完成了10'000次。 。 – Damien