AGB  ·  Datenschutz  ·  Impressum  







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

Openfiledialog wird nich ausgeführt

Ein Thema von v2afrank · begonnen am 8. Dez 2023 · letzter Beitrag vom 11. Dez 2023
Antwort Antwort
Seite 2 von 2     12   
v2afrank

Registriert seit: 9. Mai 2005
Ort: Bocholt
571 Beiträge
 
Delphi XE2 Professional
 
#11

AW: Openfiledialog wird nich ausgeführt

  Alt 11. Dez 2023, 10:21
Ist das wirklich so ? VB6 verhält sich richtig und erzeugt einen Laufzeitfehler. Delphi 11.3 meldet auch den Fehler.
Aber mein Delphi6 und 2006 erzeugen keine Fehlermeldung und arbeiten so als ob der Benutzer auf Abbruch gedrückt hat. Den Fehler kann man ja also abfangen. Darum glaube ich eher nicht das es nur von der WINAPI kommt, oder ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#12

AW: Openfiledialog wird nich ausgeführt

  Alt 11. Dez 2023, 13:23
Also mindestens in Delphi XE hatten wir schon das Problem, dass ungültige Pfade (ungültige Syntax, nicht nicht-existierender Pfad) den Dialog nicht öffnete.

Und so weit ich mich glaub erinnern zu können (viele Jahre ist es her), kam da direkt beim Aufruf der API bereits als Ergebnis das "Cancel" zurück, ohne einen Fehlercode, als ich mich damals durch die RTL gedebuggt hatte.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Openfiledialog wird nich ausgeführt

  Alt 11. Dez 2023, 14:45
Wenn dein INI File da ein ? drin hat, ist beim konvetieren/speichern der Ini Datei etwas schief gelaufen und aus einer vermutlich UTF-8 (oder besser Unicode) INI eine ANSI Datei gemacht worden, vermutlich sogar mit deinem Programm. D6 ist nicht unicodefähig und alle Ini-File Funktionen rufen da die Ansi Version der Windows Funktionen auf. Deine INI's dürfen also keine Zeichen enthalten, die nicht mit ISO8859 dargestellt werden können. Solche ungültigen Zeichen werden dann mit ? dargstellt. Mit anderen Worten, die Daten in deiner INI sind dann "kaputt" ohne chinesische Zeichen.

Einzige Lösung ist, das Verzeichnis unbenennen auf was, ohne Unicode Zeichen. Alternativ aber wahrscheinlich nicht so einfach schnell zu machen: Deine alten Programme mit neueren Delphi Versionen kompilierern, die unicodetauglich sind (ab D2009).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#14

AW: Openfiledialog wird nich ausgeführt

  Alt 11. Dez 2023, 14:50
INI niemals UTF-8.
Offiziell kennt die INI-WinAPI nur ANSI und Unicode (UCS-2 UTF-16 ohne BOM)

TMemIniFile sollte es egal sein und es dürfte mit jeder Codierung, auch mit BOM umgehen, können.
Aber TIniFile nicht.



Ich weiß nicht was passiert, wenn eine INI geändert wird, aber da vermutlich sollte es auch passieren.
Wenn beim Speichern, via WinAPI/TIniFile, erkannt wird, dass es nicht in ANSI passt, dann wird automatisch auf Unicode umgestellt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Openfiledialog wird nich ausgeführt

  Alt 11. Dez 2023, 14:55
Wir reden hier von D6 und da werden die A-Varianten der Windows Funtkionen genuntzt und diese verabreiten nur ANSI Dateien. Wenn man da mit einem D6 Programm eine Unicode INI liest, kommen für Unicode Zeichen nur ? zurück. Spätestens bei Schreiben mit D6 sind diese INI-Dateine "kaputt" und enthalten ? anstelle der Unicodezeichen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#16

AW: Openfiledialog wird nich ausgeführt

  Alt 11. Dez 2023, 14:59
Upps, D2006,
ja, dort werden die ANSI-APIs benutzt und die können nur ANSI, bzw. übersetzen Unicode.

Nicht umkodierbares wird meistens als ? übersetzt.
(Achtung, Delphi reagiert bei ungültigem UTF-8 anders und gibt oft stattdessen einen Leersting zurück, egal ob zu ANSI oder Unicode)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:50 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