![]() |
AW: SaveDialog auswerten?
Also das ist ein Bug in der Implementierung.
Ich hab mir mit einem WorkAround geholfen. Ich Hänge eine Prozedur in dass OnTypeChange Event des Dialogs ein. Zu diesem Zeitpunkt stimmt der Index nämlich noch. Dann merke ich mir den Index indem ich ihn in "den" Tag befördere. siehe Quellcode
Delphi-Quellcode:
Hack the planet// zunächst der Handler er speichert den echten Index einfach in der Tag Variablen zwischen procedure TMainGUI.ReactOnTypeChange(Sender: TObject); begin if Sender is TFileSaveDialog then begin TFileSaveDialog(Sender).Tag := TFileSaveDialog(Sender).FileTypeIndex; end; end; procedure TMainGUI.Messdatenspeichern1Click(Sender: TObject); var LocSaveDialog : TFileSaveDialog; AFileTypeItem : TFileTypeItem; begin LocSaveDialog := TFileSaveDialog.Create(Self); with LocSaveDialog do begin OnTypeChange := ReactOnTypeChange; AFileTypeItem := FileTypes.Add; with AFileTypeItem do begin DisplayName := 'OpenDocumentSpreadSheet'; FileMask := '*.ods'; end; AFileTypeItem := FileTypes.Add; with AFileTypeItem do begin DisplayName := 'CommaSeparatedValue'; FileMask := '*.csv'; end; if Execute then begin // Old Code // case FileTypeIndex of // New Code case LocSaveDialog.Tag of 1 : begin ... end; 2 : begin ... end; end; end; end; end; Neppi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz