0
我正在實現一個名爲FilesWorkFlow的類。它的任務是打開一個文件對話框,然後如果該文件的擴展名爲geotiff,則會執行一些其他成員函數來處理它。正如你在使用GDAL文件之前所知道的,你必須調用GDALAllRegister()
,所以我需要在類中的某個地方調用這個函數,所有的成員函數都會假設GDAL驅動程序已註冊。我應該在哪裏打電話?實現類時我們應該在哪裏使用GDALAllRegister()
我正在實現一個名爲FilesWorkFlow的類。它的任務是打開一個文件對話框,然後如果該文件的擴展名爲geotiff,則會執行一些其他成員函數來處理它。正如你在使用GDAL文件之前所知道的,你必須調用GDALAllRegister()
,所以我需要在類中的某個地方調用這個函數,所有的成員函數都會假設GDAL驅動程序已註冊。我應該在哪裏打電話?實現類時我們應該在哪裏使用GDALAllRegister()
的文檔GDALAllRegister
狀態:
此功能一般應一次在應用程序的開始調用。
鑑於這一要求,我認爲從您的CWinApp::InitInstance
覆蓋調用它沒有任何問題。
作爲替代,您可以將GDAL功能封裝到Singleton中,並使用Lazy Initialization。