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 Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#1

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

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

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.213 Beiträge
 
Delphi 10.4 Sydney
 
#3

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

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

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 Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#5

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
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 12:21
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
Das ist mir schon bewusst - macht es aber leider auch nicht besser. Ich fürchte nur, meine Beschwerde bliebe weitestgehend unbeachtet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 12:30
Zitat:
Was ist mit ofNoTestFileCreate?
Das sollte die passende Option sein... aber nix. Siehe Anhang. Zum ersten Breakpoint schaffen wir es nicht.
Angehängte Grafiken
Dateityp: png Anlage2.png (104,7 KB, 16x aufgerufen)

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

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 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
nahpets
(Gast)

n/a Beiträge
 
#9

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
Benutzerbild von haentschman
haentschman

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

AW: Save Dialog Validierung abschalten

  Alt 21. Nov 2015, 12:34
Zitat:
Aber: Der Dialog will doch die Datei speichern und wenn ihm dies nicht gelingt, liefert Execute false zurück.
Der Dialog selbst liefert nur den FileNamen an die Anwendung zurück. Speichern tut der nix selbst. Das Execute wird erfolgreich ausgeführt wenn die Prüfung des Dateinamens, und andere Kleinigkeiten, valide sind. Ich möchte aber in jedem Falle das Execute = True weil ich selbst prüfe.

Zitat:
Es müsste also sowas in der Form ofNoErrorMessages geben

Geändert von haentschman (21. Nov 2015 um 12:36 Uhr)
  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 06:03 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 by Thomas Breitkreuz