0
我正在实现一个名为FilesWorkFlow的类。它的任务是打开一个文件对话框,然后如果该文件的扩展名为geotiff,则会执行一些其他成员函数来处理它。正如你在使用GDAL文件之前所知道的,你必须调用GDALAllRegister()
,所以我需要在类中的某个地方调用这个函数,所有的成员函数都会假设GDAL驱动程序已注册。我应该在哪里打电话?实现类时我们应该在哪里使用GDALAllRegister()
我正在实现一个名为FilesWorkFlow的类。它的任务是打开一个文件对话框,然后如果该文件的扩展名为geotiff,则会执行一些其他成员函数来处理它。正如你在使用GDAL文件之前所知道的,你必须调用GDALAllRegister()
,所以我需要在类中的某个地方调用这个函数,所有的成员函数都会假设GDAL驱动程序已注册。我应该在哪里打电话?实现类时我们应该在哪里使用GDALAllRegister()
的文档GDALAllRegister
状态:
此功能一般应一次在应用程序的开始调用。
鉴于这一要求,我认为从您的CWinApp::InitInstance
覆盖调用它没有任何问题。
作为替代,您可以将GDAL功能封装到Singleton中,并使用Lazy Initialization。