async private Task RefreshList() { //if (listView.InvokeRequired) //{ // RefreshListCallback d = new RefreshListCallback(RefreshList); // this.BeginInvoke(d); //} //else { CancelRefreshList(); listView.Items.Clear(); _itemCollection.Clear(); if (_exObject == null) { return; } var instatnce = await _exObject.GetInstanceAsync(); if (instatnce is SqlFDBImageCatalogClass) { SqlFDBImageCatalogClass layer = (SqlFDBImageCatalogClass)instatnce; _cancelWorker = false; _gui_worker.RunWorkerAsync(await layer.ImageList()); } else if (instatnce is IRasterCatalogClass) { IRasterCatalogClass layer = (IRasterCatalogClass)instatnce; _cancelWorker = false; //_gui_worker.RunWorkerAsync(layer.ImageList); // // Wirft eine Fehler beim Lesen, wenn List in einem // Workerthread ausgeführt wird... // funzt nur bei SQL Server!! // await worker_DoWork(_gui_worker, new DoWorkEventArgs(await layer.ImageList())); } else if (instatnce is pgImageCatalogClass) { pgImageCatalogClass layer = (pgImageCatalogClass)instatnce; _cancelWorker = false; _gui_worker.RunWorkerAsync(await layer.ImageList()); } else if (instatnce is SQLiteFDBImageCatalogClass) { SQLiteFDBImageCatalogClass layer = (SQLiteFDBImageCatalogClass)instatnce; _cancelWorker = false; _gui_worker.RunWorkerAsync(await layer.ImageList()); } } }
private void RefreshList() { if (listView.InvokeRequired) { RefreshListCallback d = new RefreshListCallback(RefreshList); this.BeginInvoke(d); } else { CancelRefreshList(); listView.Items.Clear(); _itemCollection.Clear(); if (_exObject == null) { return; } if (_exObject.Object is SqlFDBImageCatalogClass) { SqlFDBImageCatalogClass layer = (SqlFDBImageCatalogClass)_exObject.Object; _cancelWorker = false; _gui_worker.RunWorkerAsync(layer.ImageList); } else if (_exObject.Object is AccessFDBImageCatalogClass) { AccessFDBImageCatalogClass layer = (AccessFDBImageCatalogClass)_exObject.Object; _cancelWorker = false; //_gui_worker.RunWorkerAsync(layer.ImageList); // // Wirft eine Fehler beim Lesen, wenn List in einem // Workerthread ausgeführt wird... // funzt nur bei SQL Server!! // worker_DoWork(_gui_worker, new DoWorkEventArgs(layer.ImageList)); } else if (_exObject.Object is pgImageCatalogClass) { pgImageCatalogClass layer = (pgImageCatalogClass)_exObject.Object; _cancelWorker = false; _gui_worker.RunWorkerAsync(layer.ImageList); } else if (_exObject.Object is SQLiteFDBImageCatalogClass) { SQLiteFDBImageCatalogClass layer = (SQLiteFDBImageCatalogClass)_exObject.Object; _cancelWorker = false; _gui_worker.RunWorkerAsync(layer.ImageList); } } }