AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Save Dialog Validierung abschalten

Ein Thema von haentschman · begonnen am 21. Nov 2015 · letzter Beitrag vom 21. Nov 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 08:09
Moin...

Man nehme einen TSaveDialog und gebe einen ungültigen Dateinamen an. Dann bekommt man brav die Meldung (Anhang 1). Nun habe ich aber auch bei den Message Boxen Corporate Design. Wie verklickere ich dem SaveDialog das er nicht validieren brauch weil ich diese selbst im Execute durchführe.

Die Option ofNoValidate interessiert ihn nicht.

Welche Alternativen gibt es?
Miniaturansicht angehängter Grafiken
anlage1.png  
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 10:03
a, Verwendest du auch die neueste Version der CommonDialogs (Evtl. noch nicht in XE dabei).
In Delphi 10 Seatle werden auch Common Dialogs gethemed. Könnte auch sein das damit dieses Problem auch erledigt ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 10:43
Danke erstmal...

1. Auch der TFileSaveDialog ("VistaDialog") ignoriert die Option [fdoNoValidate] gleiche Ausgabe der Meldung.
2. Es geht nicht um den Dialog selbst sondern um die Meldung bei falschem Dateinamen. Ich habe für meine Messages eine eigene Implementierung mit dem entsprechendem Design. VCL Styles habe ich nicht. (XE)... PS: da würde mir auch keiner gefallen.

Geändert von haentschman (21. Nov 2015 um 10:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 10:48
1. Auch der TFileSaveDialog ignoriert die Option [fdoNoValidate] gleiche Ausgabe der Meldung.
U.u. ist das jetzt einfach keine (einfache) Lösbare Aufgabe.

a, Du könntest versuchen den Win-API-Messageboxaufruf zu hooken. In der JCL gibt Hilfsfunktionen die das vereinfachen.
b, Du implementierst den Savedialog neu. Am besten mit dem ProductOwner abklären ob er den Aufwand für gerechtfertigt hält

2. Es geht nicht um den Dialog selbst sondern um die Meldung bei falschem Dateinamen.
Evtl. wird das ja vom Theming auch abgedeckt. Das müsste man probieren.

Ich habe für meine Messages eine eigene Implementierung mit dem entsprechendem Design.
Darf man fragen was es hier für spezielles Design gibt?

PS: da würde mir auch keiner gefallen.
VCLStyles kann man relativ einfach selbst gestalten. Ein Editor ist in der IDE dabei.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 10:58
Zitat:
VCLStyles kann man relativ einfach selbst gestalten. Ein Editor ist in der IDE dabei.
Wer hat schon die Zeit dazu wenn er nicht das Geld für Externe hat.
Zitat:
Darf man fragen was es hier für spezielles Design gibt?
Ich hatte mich vor längerer Zeit auf die Office Styles (TMS) festgelegt. Am Design ist eigentlich nix besonderes. Ich habe mir den Dialog so gestaltet wie ich es brauche. Schönere Icons, Style (Farben), Übersetzung, Liste für die Zeilen, Buttons im gleichen Style wie die Anwendung... usw.
Zitat:
U.u. ist das jetzt einfach keine (einfache) Lösbare Aufgabe.
Das hatte ich befürchtet.
Zitat:
Du implementierst den Savedialog neu. Am besten mit dem ProductOwner abklären ob er den Aufwand für gerechtfertigt hält
Das fällt leider aus.

NoValidate hat ja auch nix mit dem Dateinamen zu tun... warum nennt man das so... *grrr*
Zitat:
fdoNoValidate

Nicht auf Situationen prüfen, die verhindern, dass Anwendungen ausgewählte Dateien öffnen, wie z.B. bei den Fehlern "Verletzung bei der gemeinsamen Benutzung" oder "Zugriff verweigert".

Geändert von haentschman (21. Nov 2015 um 11:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 11:22
Zitat:
VCLStyles kann man relativ einfach selbst gestalten. Ein Editor ist in der IDE dabei.
Wer hat schon die Zeit dazu wenn er nicht das Geld für Externe hat.
So viel Zeit dürfte das nicht nötig machen.

Zitat:
Darf man fragen was es hier für spezielles Design gibt?
Ich hatte mich vor längerer Zeit auf die Office Styles (TMS) festgelegt. Am Design ist eigentlich nix besonderes. Ich habe mir den Dialog so gestaltet wie ich es brauche. Schönere Icons, Style (Farben), Übersetzung, Liste für die Zeilen, Buttons im gleichen Style wie die Anwendung... usw.
Wir haben auf das Theming vom Elpack gesetzt (War Anfang des Jahrtausends mit Unicode-Support) die einzige verfügbare Lösung.

Zitat:
U.u. ist das jetzt einfach keine (einfache) Lösbare Aufgabe.
Das hatte ich befürchtet.
Das unmögliche wird sofort erledigt. Nur Wunder dauern etwas länger


NoValidate hat ja auch nix mit dem Dateinamen zu tun... warum nennt man das so... *grrr*
Eigentlich schon (https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx). Aber vermutlich wird das mit den neuen Commondialogs einfach nicht mehr unterstützt da soweit ich sehe hier man den "berühmten" Callback einbauen müsste der dafür sorgt das der Dialog nach Win3.1 aussieht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#7

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 12:10
Es ist leider mal wieder sowas von inkonsistent:

Alter Dialog:

ofNoValidate = Deaktiviert die Überprüfung auf ungültige Zeichen in Dateinamen. Ermöglicht die Auswahl von Dateinamen mit ungültigen Zeichen.


Neuer Dialog:
fdoNoValidate = Nicht auf Situationen prüfen, die verhindern, dass Anwendungen ausgewählte Dateien öffnen, wie z.B. bei den Fehlern "Verletzung bei der gemeinsamen Benutzung" oder "Zugriff verweigert".


Die beiden Optionen bedeuten also was vollkommen unterschiedliches.

Vielleicht hilft dir fdoNoTestFileCreate weiter.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#8

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 12:13
Das obige Zitat stammt aus der Delphi Hilfe zur Option. Das interpretiere ich aber anders...

Danke Uwe... Wie ich schon sagte... ofNoValidate im alten Dialog hat keine Auswirkung.

Am neuen (Vista) Dialog stören mich die plattformspezifischen Warnungen. Ich hatte bis dato mein Projekt Warnungs- und Fehlerfrei...

Geändert von haentschman (21. Nov 2015 um 12:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 12:15
Es ist leider mal wieder sowas von inkonsistent:

Alter Dialog:

ofNoValidate = Deaktiviert die Überprüfung auf ungültige Zeichen in Dateinamen. Ermöglicht die Auswahl von Dateinamen mit ungültigen Zeichen.


Neuer Dialog:
fdoNoValidate = Nicht auf Situationen prüfen, die verhindern, dass Anwendungen ausgewählte Dateien öffnen, wie z.B. bei den Fehlern "Verletzung bei der gemeinsamen Benutzung" oder "Zugriff verweigert".


Die beiden Optionen bedeuten also was vollkommen unterschiedliches.
Beschwere dich dann aber bei Microsoft. Der Beschreibungstext der Optionen ist mehr oder minder direkt aus der MSDN abgeschrieben: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 12:18
Was ist mit ofNoTestFileCreate?
Oder ofDontAddToRecent? Der müsste ja zum Anlegen eines Links in Recent einen gültigen Dateinamen haben.

Frage: Wann wird der Link überhaupt angelegt? Vor oder während des Executes?

In einer Routine, die bei erfolgreichem oder eben nicht erfolgreichem Execute ausgeführt wird (also der selbst programmierte Teil), dürfte der Dialog ja vermutlich keinen Einfluß mehr haben.

Aber: Der Dialog will doch die Datei speichern und wenn ihm dies nicht gelingt, liefert Execute false zurück.

Was ist mit ofNoChangeDir, der müsste / könnte ja bei einer fehlerhaften Angabe auch ein Problem bekommen.

Es müsste also sowas in der Form ofNoErrorMessages geben

Mir fällt dazu eigentlich nur ein, einen TJvOpenDialog (aus der JVCL - kapselt TOpenDialog und hat einige sinnvolle Erweiterungen) zu nehmen und dort dann nach dem Execute das Speichern selbst zu übernehmen. Nur so dürftest Du die Möglichkeit bekommen, den Dateinamen zu überprüfen und eigene Meldungen zu generieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz